java中泛型限定<? extends Comparable<? super T>> 和 <T extends Comparable<? super T>> 有什么区别?

详细说下, 谢谢!!!!!
2024-11-20 14:19:17
推荐回答(3个)
回答1:

我也是刚学这个没多久,不能保证我的说法完全正确。我的理解是
>代表任何实现了comparable接口的实例,且接口铅念的类型是comparable
>代槐芹困表类型是T的实例,且这个T要实现comparable 接口,接口的类型是comparable

两者的区别大概是前者范围更广,可以是T 或首逗其子类,甚至是只要实现了comparable接口的其他类(虽然觉得没啥卵用)。而后者,只能是T 。。

回答2:

您好,提问者:
<纤虚? extends Comparable>虚核
这个?就是传过来的对象不确定,而且必须是Comparable的子类或者子接口。

这个表示传过来的值,是定义T泛型的父类,如果不是给出代码检差竖掘测失败。

回答3:

我是这样理解的:
首先棚蠢运> 和> 这两个,是两种不同的类型形参范围设置方式,前者是通配符的形式,后者是自定义类型的形式。
这两者在有些时候可以通用,有时则不能或者不合适。
通配符是被设计用来支档纳持子类灵活化的,如果某个方法中一个形参a的类型或返回值的类型依赖于另一个形参b的类型,则形参b的类型声明不应该使用通配符,因为依赖性比较强,b类型无法确定链梁,a也无法定义。这时就要采用自定义类型传入自定义的T.