Java-泛型限定和通配符

通配符的上限:
Pair<? extends Father> c2
extends是关键字
? 表示继承Father类的所有子类的所有泛型类,(包括Father类)
在使用extend伤心啊的时候,不能调用set(? extend Father),add(? extend Father)等方法,但可以调用get方法

通配符的下限:
Pair<? super Father> c2
super是关键字
表示的是参数类型为Son的父类的所有可能的泛型类,包括Son类
与通配符上限一样,不能使用get方法,但是可以使用set方法

无限定通配符:
Pair c7 = new Pair<>();
Pair c5 = new Pair<>();
//c7 = c5;error,因为他们不是同一种类型
Pair c6 = new Pair<>(); c6 = c5;//Pair是所有的Pair泛型类的父类,Pair<?> c6 = new Pair();

以上属于个人根据下面博客学习的东西
转载自:https://www.cnblogs.com/dtx0/p/8466127.html

posted @ 2020-11-22 10:35  Demo4  阅读(171)  评论(0编辑  收藏  举报