java.util.Arrays.asList 的小问题
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]
|