一、定义
// 其中的?就是通配符
public void print(List<? extends Object> list) {
}
通配符只能出现在左边 !
即不能在new时使用通配符 !
? 表示一个不确定的类型,它的值会在调用时确定下来 !
List<? extends Object> list = new ArrayList<String>();
二、通配符使用的场景
方法的形参!
三、通配符分类与缺点
无界通配(?) : 参数和返回值为泛型的方法,不能使用!
子类限定(? extends Object) : 参数为泛型的方法不能使用
父类限定(? super Integer) : 返回值为泛型的方法不能使用