0

私はクラスAとAを拡張するクラスBを持っています

public class A<T1, T2> {

    private T1 x;
    private T2 y;

    public A(T1 x, T2 y) {
        this.x = x;
        this.y = y;
    }
}

上記のコードは正常に動作しますが、現在はクラス B 用です

public class B<T1,T2,T3> extends A {
    private T3 z;

    public Triplet(T1 x, T2 y, T3 z) {
        super(x, y);
        this.z = z;
    }
}

Eclipse は、このコードに対して次の警告を出します。

型の安全性: コンストラクター A(Object, Object) は生の型 A に属します。ジェネリック型 A への参照はパラメーター化する必要があります

これはどういう意味ですか?私のスーパー コールが間違っているのでしょうか?

4

1 に答える 1

11

親クラスのジェネリックを指定する必要があります

public class B<T1,T2,T3> extends A<T1,T2> {
于 2013-11-13T09:05:42.647 に答える