现在我想用这个类实现这个接口。 那怎么办呢?
public class TMark<E> implements ITMark{}
这是方式,但抛出错误
我得到以下内容:
ITMark is a raw type. References to generate type ITMark<E> should be parametrized
我在Eclipse IDE中实现此代码
答案 0 :(得分:0)
这样做:
public class TMark<SomeComparableClass> implements ITMark<SomeComparableClass> {
// implement the methods of ITMark for type SomeComparableClass
}
您必须为此类指定您正在实施的可比较类。仅供参考,最常见的java类型(例如Integer,String,Date等)是Comparable。
答案 1 :(得分:0)
ITMark
是原始类型,因为它没有声明的通用参数。
如果您将TMark
声明为TMark<E extends Comparable<E>> implements ITMark<E>
,则它将不再是原始类型,因为您声明了其通用参数。
答案 2 :(得分:0)
您遗漏了通用参数,即尖括号中的部分。你需要这样的东西:
public class TMark <E extends Comparable <E> implements ITMark<E>
{
...
}
对于特定的泛型类型,您在尖括号内放置了一个合适的“Comparable”类型,如:
public class IntegerTMark extends TMark <Integer>
{
...
}
有关泛型的一个很好的介绍,请阅读Java教程,来自http://java.sun.com/docs/books/effective/generics.pdf的Joshua Bloch的 Effective Java 的免费章节以及https://www.ibm.com/developerworks/java/处有关泛型的许多文章。< / p>