[String…] 类型允许一个方法(函数)的传参能够接收String和String[] 两种类型参数
使用:
public class Main{
public static void main(String[] args) {
System.out.println(fun("111"));
String s[] = new String[2];
s[0]="2";
s[1]="3";
System.out.println(fun(s));
}
public static String fun(String... a){
String s="";
int indax = 0;
while(a.length>indax){
s+=a[indax];
indax++;
}
return s;
}
}
运行结果:
111
23
那么既然可以有String… 那么其他类型的呢?
下面是对[int… ]的测试
public class Main{
public static void main(String[] args) {
System.out.println(fun(1));
int s[] = new int[2];
s[0]=2;
s[1]=3;
System.out.println(fun(s));
}
public static String fun(int... a){
String s="";
int indax = 0;
while(a.length>indax){
s+=a[indax];
indax++;
}
return s;
}
}
运行结果:
1
23
那么到这里就很明显了,各种类型都存在一个【数据类型…]的形式供你使用,具体作用就是可以让你在传递参数的时候既可以选择传递单独的一个数据,也可以传递一个数组进来。
那么!这样的一个数据类型一定也支持泛型。
下面是对泛型的测试
public class Main{
public static void main(String[] args) {
System.out.println(fun("111"));
int s[] = new int[2];
s[0]=2;
s[1]=3;
System.out.println(fun(s));
}
public static<E> String fun(E... a){
String s="";
int indax = 0;
while(a.length>indax){
s+=a[indax];
indax++;
}
return s;
}
}
运行结果:
111
[I@3af49f1c
然后在使用数组的使用只是引用。这一点要注意