我正在尝试学习 java 泛型,来自 here我得到了下面的方法定义,有人可以解释为什么我们要声明 <T extends Comparable<T>>
在返回类型之前。
public static <T extends Comparable<T>> int countGreaterThan(T[] anArray, T elem)
我知道 Comparable 接口(interface)的用法,但为什么我们需要这个 <T extends Comparable<T>>
在方法的返回类型之前?
我们可以这样写 public static int countGreaterThan(T[] anArray, T elem)
,它也将采用通用参数
所以我的问题是为什么我们需要 <T extends Comparable<T>>
或者只是一个 <T>
在那里?
最佳答案
它只是表示泛型类型 T
必须扩展 Comparable<T>
.通过告诉编译器,你的 T
对象将拥有 Comparable<T>
的所有公共(public)方法可用。
关于Java泛型方法结构解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23910114/