java 可变参数 String... 用法
public static void main(String[] args) { System.out.println("test1:"); test("a","b","c"); System.out.println("test2:"); test(new String[] {"a", "b", "c"}); } /** * 测试方法 * @param params 参数 * */public static void test(String... params){//遍历参数内容for(String temp : params){System.out.println(temp);}System.out.println();}
输入结果
从控制台结果可以看到,对于数组和同类型多入参都会解析为数组进行处理,那么如果不同类型多入参呢?继续看一下
定义这种类型的入参必须放到最后一个才可以,也就是说int入参需要放到可变入参的前面,同时再test1处增加一个String进行测试,看一下代码。
public static void main(String[] args) { System.out.println("test1:"); test(1,"a","b","c","d"); System.out.println("test2:"); test(2,new String[] {"a", "b", "c"}); } /** * 测试方法 * @param params 参数 * */public static void test(int intParam,String... params){ System.out.println("int:"+intParam);//遍历参数内容for(String temp : params){System.out.println(temp);}System.out.println();}
执行结果:
那么可不可以使用多个可变参数作为入参呢?答案是不可以的,原因跟上一个错误差不多,这种可变参数需要放到最后一个入参,多个可变参数,不可能都作为最后一个入参。相较于String[]这种形式的入参,我理解的优势大概就是可以多个String传入,也可以Sting[]传入,就是test1的调用入参这样。
作者:渊丹
来源链接:https://blog.csdn.net/a290450134/article/details/82050625
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。