公共接口 ITMark>
现在我想用类来实现这个接口。 那么我应该怎么做呢?
public class TMark<E> implements ITMark{}
是这样但抛出错误
我得到以下信息:
ITMark is a raw type. References to generate type ITMark<E> should be parametrized
我正在 Eclipse IDE 中实现此代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
ITMark
是原始类型,因为它没有声明的泛型参数。如果您将
TMark
声明为TMark>;实现 ITMark
,它不再是原始类型,因为您声明了它的泛型参数。ITMark
is a raw type because it has no declared generic parameters.If you declared
TMark
asTMark<E extends Comparable<E>> implements ITMark<E>
, it would not longer be a raw type because you declared its generic parameter.您遗漏了通用参数,即尖括号中的部分。您需要类似的内容:
对于特定的泛型类型,您可以在尖括号内放置合适的“可比较”类型,例如:
要获得对泛型的良好介绍,请阅读 Java 教程,即 Joshua Bloch 的 Effective Java< 中的免费章节/em> 位于 http://java.sun.com/docs/books/ effective/generics.pdf 以及 https://www.ibm.com/developerworks/java/。
You left out the generic parameter, that is, the part that goes in the angle brackets. You need something like:
For a particular generic type you put a suitable 'Comparable' type inside the angle brackets, something like:
For a good introduction to generics, read the Java tutorials, the free chapter from Joshua Bloch's Effective Java at http://java.sun.com/docs/books/effective/generics.pdf and the many articles about generics at https://www.ibm.com/developerworks/java/.
执行此操作:
您必须指定您要为此类实现哪个 Comparable 类。仅供参考,最常见的 java 类型(例如整数、字符串、日期等)都是可比较的。
Do this:
You must specify which Comparable class you are implementing for this class. FYI, most common java types (eg Integer, String, Date, etc) are Comparable.