jdk1.5.0 新特性---可变参数
1.可变参数的声明:方法名(数据类型...可变参数){ ... }
例:test( int... i){}
2.可变参数只能放在所有参数的最后,一个方法只能有一个可变参数
例:test(String str1,String str2,int...i){}
3.可变参数可以当做数组来使用(但是不能用基本类型的数组作为可变参数)
例: int list1[]={1,2,3,4};
Integer listIn[]={1,2,3,4};
List list2=Arrays.asList(1,2,3,4);
List list=Arrays.asList(listIn);
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));//返回的是一个数组的对象
System.out.println((Integer)list.get(i));//返回的是数组的各个元素
}
综合示例: /*测试可变参数...*/
public int getSum(int... a) {
int sum=0;
for(int i:a){
sum+=i;
}
System.out.println(sum);
return sum;
}
public void display(String... str){//可变参数可以当做数组来使用
System.out.println(str.length);
for(String st : str) {
System.out.println(st);
}
}
@Test
public void testFunction(){
int list1[]={1,2,3,4};
display("Hello World... ");
getSum(list1);//传的事数组对象,并非当数组使用,所以可以是基本数据类型
}