2012-08-24 117 views
3

我是比較新的Java編程和我碰到這個聲明的接口和類來實現它:這個接口定義中的尖括號是什麼意思?

public interface Abcd<E extends Comparable<E>>{ 
...... 
...... 
...... 
} 

public class AbcdImpl<E extends Comparable<E>> implements Abcd<E>{ 
...... 
...... 
...... 
} 

你能解釋<E extends Comparable<E>>代表什麼,通常是什麼<E>意味着什麼?

+4

爲什麼你要在問題中用(和)代替< and >?也許對回答的人不感興趣? – Romain

+0

語法錯誤。 –

+0

可能的重複http://stackoverflow.com/questions/2231804/java-interface-extends-comparable&「E」代表任何數據類型 – Krishna

回答

4

E立場類型,信不需要爲E它可以是任何東西,但通常人們會用字母像TKEV。使用某種方式表示該類型用於何種類型的信件是有道理的。例如在Map接口Map<K,V>中,K代表密鑰,V代表值。

對於<E extends Comparable<E>>這意味着類型E是AbcdImpl的通用類型需要自己實現接口(爲自己)。因此,任何類E必須有一個方法

compareTo(E obj) 

E一個實例比較的E另一個實例。

2

你看到的是一個泛型類型聲明。

http://en.wikipedia.org/wiki/Generics_in_Java

Abcd<E>通常被解讀爲 「E的ABCD」。

例如,List是項目列表,但它沒有指定什麼樣的項目。 List是字符串列表,是泛型List的參數化版本。

相關問題