例子
int [] arrs1={1,2,3,4,5};
Integer []arrs2={1,2,3,4,5};
System.out.println(Arrays.asList(arrs1));
System.out.println(Arrays.asList(arrs2));
输出结果:
[[I@7a0ac6e3]
[1, 2, 3, 4, 5]
为什么结果不同?
·Arrays.asList()接受的是可变参数,返回一个受指定对象数组支持的固定大小的列表。
·Integer数组是对象数组,asList检测到Integer数组里有5个对象,所以正确返回5个元素
·Int数组是基础类型的数组,asList认为int数组是一个对象,因此放回的是数组地址
什么是可变参数?
·在不确定参数的个数时,可以使用可变的参数列表。
·语法:参数类型…(三个点)
例如: void printArray(Object…)