java泛型通配符的使用
时间: 2023-06-19 08:10:12 浏览: 147
java中的泛型通配符的使用
Java泛型通配符是指在定义泛型类、接口、方法时使用的一种占位符。通配符使用“?”表示,可以用于指定泛型类型的上限或下限,也可以用于表示未知类型。
1. 上限通配符:表示泛型类型必须是指定类型或其子类型。语法为“? extends 类型”。
例如,定义一个泛型方法,要求传入的参数必须是Number类或其子类:
```java
public <T extends Number> void printNum(T num) {
System.out.println(num);
}
```
2. 下限通配符:表示泛型类型必须是指定类型或其父类型。语法为“? super 类型”。
例如,定义一个泛型方法,要求传入的参数必须是Object类或其父类:
```java
public <T super Object> void printObj(T obj) {
System.out.println(obj);
}
```
3. 未知类型通配符:表示泛型类型未知,可以用于接收任意类型的参数。语法为“?”。
例如,定义一个方法,接收一个未知类型的数组:
```java
public void printArray(T[] array) {
for (T t : array) {
System.out.println(t);
}
}
```
注意:使用未知类型通配符时不能使用泛型类型的方法和属性。
阅读全文