2

今、私はこのインターフェースをクラスで実装したいと思います。だから私はそれをどのようにすべきですか?

public class TMark<E> implements ITMark{}

これは方法ですが、エラーをスローします

私は以下を取得しています:

ITMark is a raw type. References to generate type ITMark<E> should be parametrized

このコードをEclipseIDEに実装しています

4

3 に答える 3

0

これを行う:

public class TMark<SomeComparableClass> implements ITMark<SomeComparableClass> {
    // implement the methods of ITMark for type SomeComparableClass
}

このクラスに実装する Comparable クラスを指定する必要があります。参考までに、最も一般的な Java 型 (Integer、String、Date など) は Comparable です。

于 2011-08-21T22:56:39.680 に答える
0

ITMark宣言されたジェネリック パラメーターがないため、生の型です。

TMarkとして宣言した場合TMark<E extends Comparable<E>> implements ITMark<E>、ジェネリック パラメーターを宣言したため、生の型ではなくなります。

于 2011-08-21T22:57:20.783 に答える
0

汎用パラメーター、つまり山かっこに入る部分を省略しました。次のようなものが必要です。

public class TMark <E extends Comparable <E> implements ITMark<E>
{
    ...
}

特定のジェネリック型については、適切な「比較可能」型を山かっこ内に置きます。次のようになります。

public class IntegerTMark extends TMark <Integer>
{
    ...
}

ジェネリックの入門としては、Java チュートリアル、Joshua Bloch の「Effective Java 」の無料の章( http://java.sun.com/docs/books/effective/generics.pdf )、およびhttps:/のジェネリックに関する多くの記事を参照してください。 /www.ibm.com/developerworks/java/ .

于 2011-08-21T23:04:28.830 に答える