4

我对 Java 编程比较陌生,我遇到了一个接口和一个实现它的类的声明:

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

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

你能解释一下<E extends Comparable<E>>代表什么,通常是什么意思<E>吗?

4

3 回答 3

6

E代表类型,字母不必是 E 可以是任何东西,但通常人们会使用T, K, E,之类的字母V。使用以某种方式表示类型用途的字母是有意义的。例如在MapinterfaceMap<K,V>中,K 代表键,V 代表值。

至于<E extends Comparable<E>>它意味着作为泛型类型的类型 EAbcdImpl需要自己实现Comparable接口(为自己)。所以任何类E都必须有一个方法

compareTo(E obj)

用于将 的一个实例与E的另一个实例进行比较E

于 2012-08-24T11:10:19.413 回答
2

你看到的是一个泛型类型声明。

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

Abcd<E>通常读作“E 的 Abcd”。

例如,List 是一个项目列表,但没有指定项目的种类。List 是一个字符串列表,是泛型 List 的参数化版本。

于 2012-08-24T11:12:20.903 回答
1

我认为你应该看看课程:泛型
它将帮助你理解泛型集合。

于 2012-08-24T11:36:23.767 回答