List<EventHandler<E>> listeners = new List<EventHandler<E>>();
爲什麼上面的行失敗:名單VS ArrayList的
無法實例類型
List<EventHandler<E>>
但是這一個工程:
ArrayList<EventHandler<E>> listeners = new ArrayList<EventHandler<E>>();
List<EventHandler<E>> listeners = new List<EventHandler<E>>();
爲什麼上面的行失敗:名單VS ArrayList的
無法實例類型
List<EventHandler<E>>
但是這一個工程:
ArrayList<EventHandler<E>> listeners = new ArrayList<EventHandler<E>>();
正確的方法是:
List<EventHandler<E>> listeners = new ArrayList<EventHandler<E>>();
List
)ArrayList
)(接口不能被實例化)List
是一個接口,你不能實例化一個接口。
列表是一個接口,你不能創建一個接口
的實例嘗試
List<EventHandler<E>> listeners = new ArrayList<EventHandler<E>>();
列表僅是由ArrayList的
看到實現的接口:http://download.oracle.com/javase/6/docs/api/java/util/List.html
列表不能被實例化,因爲它只是一個接口。
但是,您可能還有其他問題。
你真的有一個叫'E'的課嗎?如果你這樣做,那麼你不應該沒有很好的理由。
單個字母(如E和T)幾乎專用於表示泛型類型參數。閱讀它:「這是關於如何製作類或方法的一般描述,沒有任何特定類型的引用 - 您可以通過任何合法的引用類型來參數化這個類」。
所以即使像ArrayList <
T >
這樣的類也不能實例化 - 因爲它們是類的通用「食譜」,而不是真正的具體類。
http://download.oracle.com/javase/tutorial/java/generics/index.html – Caner
你想在這裏做什麼? – kittylyst
假設你的上下文無關鏈接應該引起注意,因爲它已經吃掉了ArrayList參數化的T括號。 – kittylyst