泛型的限定(上下限)

版权声明:关注微信公众号:摸鱼科技资讯,联系我们 https://blog.csdn.net/qq_36949176/article/details/87939888

泛型上下限的理解

?均表示接收的对象

上限:

接收,用上限
<? extend T>

collection<? extend T> colle 用来接收对象,这里接收的对象是未知对象。
理解:只要是T或者T的子类,,就可以接收
就可以使用这个方法,如:T是Person,那么他的子类Student\Worker都可以使用这个方法

?是待定类型,T是已知类型

下限:
取出,用下限
<? super T>
理解,只要是T或者T的父类,就可以取出
取集合的类型,用集合的父类型接收,保证所有元素全能接收到。
比如我们给Person写一个比较器
我们用comparator<? super T> comp接收对象(接收的对象是已经写好的比较器)
如果接收的对象是Student ,那么只要我们有Student或者Student父类的比较器,我们就可以取出里面的方法来使用
这样就能保证我们对Person写了比较器,对Person以及Person的子类同样适用

?是已知类型,T是待定类型,T就是我们就是我们将要传入的对象,一般为已知类型的子类

猜你喜欢

转载自blog.csdn.net/qq_36949176/article/details/87939888