java可变参数转换String...args成byte[]...args

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){
           ......
    }

}
阅读 5.5k
2 个回答
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");
    }

}

(A...args) 其实只是 Java 的语法糖而已,本质上还是一个数组。

所以你的问题可以直接变成 String[] 转换为 byte[][]。答案见楼上。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题