2011-08-21 92 views
2

现在我想实现这个接口的类。 那我应该怎么做呢?公共接口ITMark <E extends Comparable <E>>

public class TMark<E> implements ITMark{} 

是这样的方式,但引发错误

我得到以下几点:

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

我在Eclipse IDE执行这段代码

回答

0

做到这一点:

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

您必须指定其中您正在为此课程实施的可比较课程。仅供参考,最常见的Java类型(例如Integer,String,Date等)是Comparable。

0

ITMark是原始类型,因为它没有声明的通用参数。

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

0

您遗漏了泛型参数,即尖括号中的部分。你需要的东西,如:

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

对于你把尖括号内合适的“可比”型,就像一个特定的泛型类型:

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

对于一个很好的介绍,仿制药,阅读Java教程,从Joshua Bloch的有效的Javahttp://java.sun.com/docs/books/effective/generics.pdf的免费章节和关于仿制药在https://www.ibm.com/developerworks/java/的许多文章。

+0

我格式化了你的答案。请学习如何格式化东西 – Bohemian

相关问题