JDK 1.4对java.util.Arrays.asList的定义,函数参数是Object[]。所以,在1.4中asList()并不支持基本类型的数组作参数。
JDK 1.5中,java.util.Arrays.asList的定义,函数参数是Varargs, 采用了泛型实现。同时由于autoboxing的支持,使得可以支持对象数组以及基本类型数组。
不过在使用时,当传入基本数据类型的数组时,会出现小问题,会把传入的数组整个当作返回的List中的第一个元素,
所以Arrays.aList(T[] arr);支持的是引用数据类型的数组转换成固定大小的集合;
例如:
1 2 3 4 5 6 7 public static void main(String[] args){ int [] a1 = new int []{ 1 , 2 , 3 }; String[] a2 = new String[]{ "a" , "b" , "c" }; System.out.println(Arrays.asList(a1)); System.out.println(Arrays.asList(a2)); }
打印结果如下:
1 2 [[I @dc8569 ] [a, b, c]