1. List<Car> carList = new ArrayList<Sedan>();
2. List<Car> carList = new ArrayList<Car>();
carList.add(new Sedan());
1有一個編譯器錯誤,2是合法的。Array聲明和Collection聲明之間有什麼區別
爲什麼變量聲明的類型必須匹配我們傳遞給對象類型的類型(派生類型不允許)? 我使用數組如下這絕對正確的:
int SIZE = 10;
Car[] carArray = new Sedan[SIZE];
誰能告訴我爲什麼收藏必須申報爲條件2?謝謝
[Java泛型(http://docs.oracle.com/javase/tutorial/java/泛型/)。 – csmckelvey
@Takendarkk我知道這是泛型,但泛型正在討論使用尖括號作爲類型,它不是關於超類和子類,不是嗎? – haifzhan
@haifzhan你真的認爲超級/孩子班與類型無關嗎? – csmckelvey