标签:注意 pre 静态方法 子类 end 比较 main 表示 out
通配符?,?表示占位,表明将来使用的时候在指明类型
与<T>类型比较
public static void main(String[] args) { List<Person1> personList = new ArrayList<>(); personList.add(new Person1("11", "11")); personList.add(new Person1("22", "22")); personList.add(new Person1("33", "33")); print(personList); System.out.println("======================"); List<Man> manList = new ArrayList<>(); manList.add(new Man("11", "11")); manList.add(new Man("22", "22")); manList.add(new Man("33", "33")); print(manList); } /** * List<? extends Person1> :有上限的通配符,表示传入的对象只能是Person1 或其的子类, <E>元素类型代表这个泛型通配符的上限 * @param list */ static void print(List<? extends Person1> list) { for (Object o : list) { System.out.println(o); } }
<? Super E>有上限通配符
java泛型<? extends E> 有上限通配符与<? Super E>有上限通配符
标签:注意 pre 静态方法 子类 end 比较 main 表示 out
原文地址:https://www.cnblogs.com/huanghuanghui/p/10153091.html