我有以下一段代码
public static <T extends Comparable<T>> T max(List<T> list){
Iterator<T> iter = list.iterator();
...
// code for finding the max element in the list
...
}
我的问题是,在这种情况下,需要绑定递归类型吗?据我的理解,T extends Comparable < T >意思是说,T只能跟T自己比较。这是因为,Class 'T' implements Comparable<T>所以,
class MyClass implements Comparable<MyClass>{
}
如果我在这里错了,请随时纠正我。
所以现在来到实际的疑问,为什么我们需要指定< T extends Comparable < T > >?参数List<T>列表将包含相同类型元素的任何方式。即,假设我传递了一个 type 的参数List < MyClass2 >,那么所有元素都将属于同一类型,即MyClass2..
那么递归类型绑定的含义是什么?提前致谢。