http://download.java.net/jdk/jdk-api-localizations/jdk-api-zh-cn/publish/1.6.0/html/zh_CN/api/java/util/Arrays.html#asList(T...)
public static <T> List<T> asList(T... a)返回一个受指定数组支持的固定大小的列表。(对返回列表的更改会“直接写”到数组。)此方法同Collection.toArray() 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。返回的列表是可序列化的,并且实现了 RandomAccess。
这个方法返回的 List 可以看作是数组的一个视图。你不能对这个 List 使用 add 或 remove 方法,因为这个 List 对应的是一个数组(数组的大小不能改变)。
查看源代码可以看出,这个List 是一个 Arrays.ArrayList (这是 Arrays 的一个内部静态类,不是我们经常使用的 java.util.ArrayList)。它的 add/remove方法直接继承自父类(java.util.AbstractList)。下面是 add 和 remove 方法:
public boolean add(E e) {
add(size(), e);
return true;
}
public void add(int index, E element) {
throw new UnsupportedOperationException();
}
public E remove(int index) {
throw new UnsupportedOperationException();
}
如果你增加或删除元素,会抛出 UnsupportedOperationException 异常。