测试JDK 中具有可变参数的类Arrays.asList()方法。分别传多个参数、传数组,传数组又传参的情况。
调用可变参数的方法时, 编译器将 自动创建一个数组保存传递给方法的可变参数,因此,程序员可以在方法体中
以数组的形式访问可变参数
可变参数 只能处于参数列表的最后, 所以一个方法 最多只能有一个长度可变的参数
//可变参数注意的问题
//public void aa(int ...nums,int s){}//不可以
//public void bb(int s ,int ...nums)//可以
注意:传入基本数据类型数组的问题。
从JDK 5 开始, Java 允许为方法定义长度可变的参数。语法:
</pre><pre name="code" class="java">public void foo(int … args){
}
注意事项:
调用可变参数的方法时, 编译器将 自动创建一个数组保存传递给方法的可变参数,因此,程序员可以在方法体中
以数组的形式访问可变参数
可变参数 只能处于参数列表的最后, 所以一个方法 最多只能有一个长度可变的参数
例子
public void testSum(){
sum(1,2,3,4);
int arr[]={5,6,7};
sum(arr);
}
public void sum(int ...nums){
//可变参数当成数组
int sum=0;
for(int i:nums){
sum+=i;
}
System.out.println(sum);
}
//可变参数注意的问题
//public void aa(int ...nums,int s){}//不可以
//public void bb(int s ,int ...nums)//可以
package 可变参数;
import java.util.Arrays;
import java.util.List;
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
List list=Arrays.asList("1","2","3");
System.out.println(list);//[1, 2, 3]
String arr[]={"1","2","3","4"};
list=Arrays.asList(arr);
System.out.println(list);//[1, 2, 3, 4]
int nums[]={1,2,3,4,5};<span style="white-space:pre"> </span>//这里是int
list=Arrays.asList(nums);//存储只是一个对象
System.out.println(list);//[[I@120d62b]
Integer nums2[]={1,2,3,4,5};<span style="white-space:pre"> </span>//这里是Integer
list=Arrays.asList(nums2);<span style="white-space:pre"> </span>//这里存储的是对象数组
System.out.println(list);//[1, 2, 3, 4, 5]
}
}