java可变参数转换String...args成byte[]...args
ringa_lee
ringa_lee 2017-04-18 09:26:51
[Java讨论组]

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

}
ringa_lee
ringa_lee

ringa_lee

全部回复(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");
    }

}
ringa_lee

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号