0

私は以下を使用するこのJavaコードを持っています<T>

public static class mySet<T> extends Set {

    // Define a list object using parametric polymorphism
    public final List<T> set;

    // Define the constructor for a Set data type
    public <T> mySet(List<T> given_set) {
        this.set = (List<T>) given_set;
    }
}

ただし、ここでエラーが発生します(List<T>) given_set;。最終的な変数セットと同じ型にしているので動作するはずですが、動作しません。

誰かが理由を知っていますか?

Eclipseは次のように言っていますType mismatch: cannot convert from java.util.List<T> to java.util.List<T>

4

1 に答える 1

6

あなたはそれを同じタイプにしているのではありません。<T>コンストラクター宣言の前で使用することにより、クラスのとの型関係のない新しい を導入することになります。それを除く。次に、キャストを削除することもできますが、何もしません。TT

于 2013-03-21T03:59:16.767 に答える