2012-10-02 67 views
1

可能重複:
Java Generics: Cannot cast List<SubClass> to List<SuperClass>?名單的ArrayList轉換

我只是想知道爲什麼下面的Java代碼不能編譯:

List<Object> c1 = new ArrayList<String>(); 

的錯誤是: cannot convert from ArrayList <String> to List<Object>

字符串擴展對象,所以我會認爲與多態性,作爲字符串「是」的對象,該字符串可以替代對象。

我剛開始學習java,所以希望這個問題很有意義。

在此先感謝...

回答

0

Thsi dosnt工作就是這樣,這裏的共同父目錄,而不是存儲在該列表中的元素類型。因此這兩種類型並不真正相關。看看this

0

這是正常情況,但不適用於仿製藥。泛型用於精確指定集合中包含的對象。你可以閱讀更多關於他們here

1

你可以做到這一點

List<? extends Object> list=new List<String>(); 

對象具有繼承性,但是仿製藥都有點不同。