源码中只有这么一句:
public static <T> List<T> asList(T... a) {
return new ArrayList<T>(a);
}
ArrayList有三个构造函数:
ArrayList() 构造一个初始容量为 10 的空列表。 
ArrayList(Collection<? extends E> c) 构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。 
ArrayList(int initialCapacity) 构造一个具有指定初始容量的空列表。 new ArrayList<T>(a);这个构造函数在哪呢?

解决方案 »

  1.   

    list 本来就是个动态的吧?你想怎么个固定法?
      

  2.   

    构造函数:  ArrayList(int initialCapacity)
      

  3.   

    Collections.unmodifiableList(Arrays.asList(anArray));
      

  4.   

    这个ArrayList不是java.util.ArrayList,而是java.util.Arrays.ArrayList,是个内部静态类。所以在java.util.ArrayList里面找不到那个数组构造方法。
      

  5.   

    谢了,我说怎么找不到呢!
    然后这个类又继承了java.util.AbstractList,而在AbstractList这个类里面,
    public void add(int index, E element) {
        throw new UnsupportedOperationException();
    }
    public E remove(int index) {
        throw new UnsupportedOperationException();
    }
    等等方法都是不支持的。