什么是类型通配符,如何定义类型通配符的上限和下限?
时间: 2023-06-25 18:02:25 浏览: 207
1.泛型类 、通配符的使用、通配符的上限和下限 编写泛型类Stack<E>,该类中定义一个成员变量和如下方法:
5星 · 资源好评率100%
类型通配符是Java中的一个特殊符号“?”,它可以用来表示任何类型。在定义泛型类、泛型方法、泛型接口时,如果我们不确定要使用什么具体类型,就可以使用类型通配符。
类型通配符可以有上限和下限,其定义格式为:
- 上限通配符:<? extends T>,表示通配符代表的类型必须是T类型或T的子类。
- 下限通配符:<? super T>,表示通配符代表的类型必须是T类型或T的父类。
例如:
```
public void printList(List<? extends Number> list) {
for (Number n : list) {
System.out.print(n + " ");
}
}
public void addList(List<? super Integer> list) {
list.add(1);
list.add(2);
list.add(3);
}
```
在这个例子中,printList方法的参数类型通配符是<? extends Number>,表示只要是Number类型或其子类都可以作为参数传入该方法。而addList方法的参数类型通配符是<? super Integer>,表示只要是Integer类型或其父类都可以作为参数传入该方法。
阅读全文