今、私はこのインターフェースをクラスで実装したいと思います。だから私はそれをどのようにすべきですか?
public class TMark<E> implements ITMark{}
これは方法ですが、エラーをスローします
私は以下を取得しています:
ITMark is a raw type. References to generate type ITMark<E> should be parametrized
このコードをEclipseIDEに実装しています
今、私はこのインターフェースをクラスで実装したいと思います。だから私はそれをどのようにすべきですか?
public class TMark<E> implements ITMark{}
これは方法ですが、エラーをスローします
私は以下を取得しています:
ITMark is a raw type. References to generate type ITMark<E> should be parametrized
このコードをEclipseIDEに実装しています
これを行う:
public class TMark<SomeComparableClass> implements ITMark<SomeComparableClass> {
// implement the methods of ITMark for type SomeComparableClass
}
このクラスに実装する Comparable クラスを指定する必要があります。参考までに、最も一般的な Java 型 (Integer、String、Date など) は Comparable です。
ITMark
宣言されたジェネリック パラメーターがないため、生の型です。
TMark
として宣言した場合TMark<E extends Comparable<E>> implements ITMark<E>
、ジェネリック パラメーターを宣言したため、生の型ではなくなります。
汎用パラメーター、つまり山かっこに入る部分を省略しました。次のようなものが必要です。
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/ .