![](/img/trans.png)
[英]An instantiable Java generic for <E extends Comparable<E>>
[英]public interface 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中實現此代碼
做這個:
public class TMark<SomeComparableClass> implements ITMark<SomeComparableClass> {
// implement the methods of ITMark for type SomeComparableClass
}
您必須指定要實現這個類可比類。 僅供參考,最常見的Java類型(例如Integer,String,Date等)都是可比較的。
ITMark
是原始類型,因為它沒有聲明的通用參數。
如果您聲明TMark
為TMark<E extends Comparable<E>> implements ITMark<E>
,則它將不再是原始類型,因為您聲明了其通用參數。
您省略了通用參數,即尖括號中包含的部分。 您需要類似:
public class TMark <E extends Comparable <E> implements ITMark<E>
{
...
}
對於特定的通用類型,您可以在尖括號內放置一個合適的“可比較”類型,例如:
public class IntegerTMark extends TMark <Integer>
{
...
}
有關泛型的良好介紹,請閱讀Java教程, http: //java.sun.com/docs/books/effective/generics.pdf上約書亞·布洛赫(Joshua Bloch)的有效Java的免費章節以及https://上的許多關於泛型的文章。 /www.ibm.com/developerworks/java/ 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.