Java中关于可变长参数的那些事
2009-03-06 15:47
447 查看
可变长参数: 底层就是一个数组,只能出现在方法的形参里,不能定义
1)可变长参数的方法只有在必须的时候才会调用,如果有确切匹配的不可变
参数的方法,会优先选择不可变参数的方法;
2)如果两个方法都是可变长参数,都能匹配时,会编译通不过;编译器不知道调用哪个;
3)一个方法只能有一个可变长参数,并且这个可变长参数必须是该方法的最后一个参数;
例子:
main 方法就是将若干个字符串封装成数组
String[] 与 String... 是一样的;不能重载;
依次拿到每个值,包装成数组,然后再用到方法里;
m1(String[] str)
m2(String... str)
差别:但是如果写的是String[] 时,传参数时不能一起传多个;m1(str1,str2)
可以这样传:m1(new String[]{str1,str2});
而String... 则可以传多个参数;m2(str1,str2)
也可以这样传:m2(new String[]{str1,str2});
1)可变长参数的方法只有在必须的时候才会调用,如果有确切匹配的不可变
参数的方法,会优先选择不可变参数的方法;
2)如果两个方法都是可变长参数,都能匹配时,会编译通不过;编译器不知道调用哪个;
3)一个方法只能有一个可变长参数,并且这个可变长参数必须是该方法的最后一个参数;
例子:
main 方法就是将若干个字符串封装成数组
String[] 与 String... 是一样的;不能重载;
依次拿到每个值,包装成数组,然后再用到方法里;
m1(String[] str)
m2(String... str)
差别:但是如果写的是String[] 时,传参数时不能一起传多个;m1(str1,str2)
可以这样传:m1(new String[]{str1,str2});
而String... 则可以传多个参数;m2(str1,str2)
也可以这样传:m2(new String[]{str1,str2});
相关文章推荐
- Java中关于可变长参数的那些事[参数中使用省略号的情况]
- Java中关于可变长参数的那些事[参数中使用省略号的情况]
- 关于Scala重写Java可变长参数方法
- Java可变参数关于参数列表含可变参数的方法重载的注意点
- java关于可变参数的使用
- 【java新特性】关于可变参数的一些总结
- 关于java中可变长参数的定义及使用方法详解
- 我的java学习笔记(11)关于装箱、参数可变方法和枚举类型
- [问题记录]Java关于可变参数重载问题的测试
- 关于Java可变参数的若干问题
- Java可变参数列表
- java方法的可变参数用法
- java 数组操作1.5后新特性--可变参数以及foreach使用
- java 可变参数的应用
- java高新技术-可变参数与OverLoad相关面试题分析
- Java中可变长参数的使用及注意事项
- Java中编写可变长参数的函数
- java基础--可变参数
- java可变参数
- Java 可变参数 使用