1、....
的作用
-
在形式参数里面出现,表示
可变数组参数
,即传入的参数可以随意多个,不论传多少个参数都被放到一个数组里面。用…的话:传参数时可不传
。在方法里取时,s是一个数组,如果调用时什么都没有传,那么s的长度就是0。传参时传可传,可以是一个个并列地传,也可以直接是一个数组
。 在方法里取时,s是一个数组,调用时传了几个,s的长度就是几。
-
类型后面三个点(比如 String…),是从Java 1.5开始,Java语言对方法参数支持一种新写法,叫
可变长度参数列表,其语法就是类型后跟...,表示此处接受的参数为0到多个Object类型的对象,或者是一个Object[]
。 例如,有一个方法叫做test(String…strings),那么你还可以写方法test(),但你不能写test(String[] strings),这样会出编译错误,系统提示出现重复的方法。- 在使用的时候,对于test(String…strings),你可以直接用test()去调用,标示没有参数,也可以用去test(“aaa”),也可以用test(new String[]{“aaa”,“bbb”})或test(“aaa”,“bbb”)。
- 如果既有test(String…strings)函数,又有test()函数,我们在调用test()时,会优先使用test()函数。只有当没有test()函数式,我们调用test(),程序才会走test(String…strings)。
2、代码
public class Demo {
public static void main(String[] args) {
printString();
System.out.println("==========");
printString(new String[]{"我","和","你"});
System.out.println("==========");
printString("我","和","你");
}
public static void printString(String... str){
if(str.length==0){
System.out.println("没有传参数。");
}
for (int i = 0; i < str.length; i++) {
System.out.println("类型:"+ str[i].getClass()+" 单词:"+ str[i]);
}
}
}
链接:https://blog.csdn.net/gpsyougo/article/details/88867334
链接:https://blog.csdn.net/jiangyu1013/article/details/79611937