クラスで指定された型の要素を含むArrayList
を使用したいと思います。特定のクラスを拡張する汎用タイプTを再利用
public class Foo<T extends Comparable<T>> extends AbstractFoo {
private ArrayList<T> list = new ArrayList<T>();
@Override
public void add(Comparable e) {
list.add(e); // The method add(T) in the type ArrayList<T> is not applicable for the arguments (Comparable)
}
}
のはなぜlist
からe
を追加することはできませんか? TがComparableを確実に拡張するので、私はe
をlist
に加えることができると思います。
を持っていることによってそれを行うことができます。 addメソッドの種類は 'List>'をこの場合は任意のcomparablesで汚染します。 –
Calculator
真。メソッドのパラメータを「Comparable e」に変更する方がよいでしょう。しかし、私はこの質問の範囲外かもしれないと思う –