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");
}
}