通配符
-
通配符:?
-
不确定集合中的元素具体的数据类型,就是用 ? 表示所有类型
-
例如:在集合 list 中不确定这个集合是什么数据类型
import java.util.ArrayList; import java.util.List; public class Demo04 { public static void main(String[] args) { D d = new D(); List<String> l1 = new ArrayList<String>(); d.test(l1); List<Integer> l2 = new ArrayList<Integer>(); d.test(l2); } } class D { //定义一个泛型为通配符的 test 方法 public void test(List<?> list) { } }
有限制的通配符
- <? extends Person> (无穷小,Person]
只允许泛型为 Person 以及 Person 子类的引用调用
- <? super Person> [Person,无穷大)
只允许泛型为 Person 以及 Person 父类的应用嗲用
- <? extends Comparable>
只允许泛型为实现 Comparable 接口的实现类的引用调用