2014-02-13 39 views
1

在Arrays.java文件中。 asList的方法定義如下。java中的Arrays.asList()實現

@SafeVarargs 
    public static <T> List<T> asList(T... arr) { 
     return new ArrayList<>(arr); 
    } 

這裏ArrayList構造函數被調用Array(arr),new ArrayList(arr)。 但ArrayList類中沒有構造函數,它接受Array作爲argument.Array類在Collections FrameWork中,但未實現Collection接口。 ArrayList中的構造器是

ArrayList() 

ArrayList(Collection<? extends E> c) 

ArrayList(int initialCapacity) 

能有人解釋發生了什麼呢?

回答

9

它使用Arrays.java文件中存在的私有靜態類ArrayList<E>的構造函數ArrayList(E[] array)

+0

+1恰好在代碼OP之後的幾行發佈... – Brian