我有一個關於泛型的Java問題。我聲明瞭一個通用的清單:列表<?擴展MyType>
List<? extends MyType> listOfMyType;
然後在一些方法我嘗試實例化和項目添加到這個列表:
listOfMyType = new ArrayList<MyType>();
listOfMyType.add(myTypeInstance);
哪裏myTypeInstance
只是MyType
類型的對象;它不會編譯。它說:
Add方法(?捕獲#3的擴展 的MyType)在類型列表中<捕獲#3的 ?擴展MyType>不適用 爲參數(MyType)
任何想法?
作爲喬希布洛赫說:「記住佩奇:生產者延伸消費者中超。」由於listOfMyType是一個消費者(你添加到它),`super`是有效的,`extends`不是。 – 2009-05-27 21:34:28
現在鏈接已損壞。 – 2011-07-01 00:47:32