LinkedList
という名前の特殊なサブクラスを作成するために
拡張すると仮定しますGroceryList
。
クラスをその型として
GroceryList
パラメータ化します。内のインスタンスとして
アクセスしようとすると、NetBeans で次のコンパイル エラーが発生します。GroceryItem
GroceryItem
GroceryList
incompatible types
Required: GroceryItem
Found: Object
where GroceryItem is a type-variable
GroceryItem extends Object declared in class GroceryList
どうやらこれは「型消去」が原因であり、これまでのところ、この方法でクラスを「型変数」とクラスの両方として使用することに失敗しています...
以下に簡単な例を示します。
public class GroceryList<GroceryItem> extends LinkedList {
public GroceryList() {
}
public double getItemPrice(GroceryItem item) {
// compile-error occurring here:
return item.getPrice();
}
// compile-error occurring here:
public GroceryItem getGroceryItem(String name, String brand, double price) {
// ...finding the grocery item based on the parameters here:
// ...
return item;
}
} // end of class