2

现在我想用类实现这个接口。那我该怎么做呢?

public class TMark<E> implements ITMark{}

这是这种方式,但抛出错误

我得到以下信息:

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

我在 Eclipse IDE 中实现这个代码

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是原始类型,因为它没有声明的泛型参数。

如果您声明TMarkTMark<E extends Comparable<E>> implements ITMark<E>,它将不再是原始类型,因为您声明了它的泛型参数。

于 2011-08-21T22:57:20.783 回答
0

您省略了通用参数,即尖括号中的部分。你需要类似的东西:

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/

于 2011-08-21T23:04:28.830 回答