版权声明:关注微信公众号:摸鱼科技资讯,联系我们 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就是我们就是我们将要传入的对象,一般为已知类型的子类