我有两个使用通配符泛型的方法示例。第一个例子:public static <T extends Comparable> T findMax(List<T> list)第二个例子:public static <T extends Comparable<? super T>> T findMax(List<? extends T> list)我想知道这两个例子是否多余。如果是,为什么?
2 回答
呼唤远方
TA贡献1856条经验 获得超11个赞
这两个示例告诉您不同的事情,因此它们并不多余,它们提供了不同的信息并以不同的方式限制类型。
public static <T extends Comparable> T findMax(List<T> list)
在此示例中,您告诉T
变量可以是实现或扩展的任何类型Comparable
(如果它是类或接口)
public static <T extends Comparable<? super T>> T findMax(List<? extends T> list)
在此示例中,您告诉类型T
应该扩展可比较的类型,并且还告诉类型必须是(内部可比较的)的超类,但它可以是列表中的T
子类型。T
添加回答
举报
0/150
提交
取消