2011-08-21 91 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

相關問題