Java中String的可变参数如何转换成byte[]的可变参数,如下面例子中obj.functionB的入参是byte[]的可变参数,请问如何转换
public void functionA(String...args){ Object obj = new Object(); //args如何转换成functionB的入参 obj.functionB(?); } Class Object{ public void functionB(byte[]...args){ ...... } }
(A...args)
其实只是 Java 的语法糖而已,本质上还是一个数组。
所以你的问题可以直接变成 String[]
转换为 byte[][]
。答案见楼上。
public class Test { public static void functionA(String ... args){ byte[][] b = new byte[args.length][]; for(int i = 0;i<args.length;i++){ b[i] = args[i].getBytes(); } functionB(b); } public static void functionB(byte[] ... args){ System.out.println(args.getClass()); } public static void main(String[] args) { functionA("a","b"); } }