现在我想用类实现这个接口。那我该怎么做呢?
public class TMark<E> implements ITMark{}
这是这种方式,但抛出错误
我得到以下信息:
ITMark is a raw type. References to generate type ITMark<E> should be parametrized
我在 Eclipse IDE 中实现这个代码
现在我想用类实现这个接口。那我该怎么做呢?
public class TMark<E> implements ITMark{}
这是这种方式,但抛出错误
我得到以下信息:
ITMark is a raw type. References to generate type ITMark<E> should be parametrized
我在 Eclipse IDE 中实现这个代码
做这个:
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>
{
...
}
对于特定的泛型类型,您可以在尖括号内放置一个合适的“Comparable”类型,例如:
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/。