import java.util.Arrays;
import java.util.List;
public class Tees {
public static void main(String[] args) {
Integer[] a = { 1, 2 };
List<Integer> ll = Arrays.asList(a);
String[] array = { "Good", "Morning", "Hello", "2006" };
List<String> list = Arrays.asList(array);
int[] i = { 1, 2 };
List<int[]> f = Arrays.asList(i);
System.err.println(f.size());
}
}
int[] i = { 1, 2 };
List<int[]> f = Arrays.asList(i);
System.err.println(f.size());
奇怪的是Arrays 对于int这样的数组 并不是跟其它包装类或者非基础类型数组一样 直接转成对应的list,而是将其整体作为list的一项 构成一个长度为1的list
补充点特别的。关于
Integer [] a = {1,2,3,5,6};
List<Integer> l = Arrays.asList(a);
l.add(22);
System.out.println(l);
根据java核心的解释,asList返回的其实不是一个List,而是一个视图对象,带有访问底层的get set方法,但是若改变数组的大小的所有方法(例如与迭代器iterator相关的add和remove方法)都会抛出一个java.lang.UnsupportedOperationException。这点尤为重要 :D