Java 次数通配符
时间: 2024-08-17 14:01:15 浏览: 51
边界匹配符-正则表达式—Java知识点补充
Java中的次数通配符(Number Parameterized Wildcards)是自Java 8引入的新特性,用于更灵活地处理泛型集合的操作。它主要有两种形式:
1. `? super T`:表示该位置可以放置T或T的父类型的引用,常用于父接口或父类的情况。例如,你可以将一个实现了某个接口的列表传递给接受该接口所有父接口的对象。
```java
List<? super Number> numbers = ...; // 可以存储Integers, Doubles等
```
2. `? extends T`:表示该位置可以放置T或其任何子类型的引用,通常用于子类数组或列表的泛型参数。比如,一个方法接收所有的整数列表:
```java
void processNumbers(List<? extends Number> list) {
for (Number num : list) {
// 使用num进行操作,确保它是Number的子类型
}
}
```
阅读全文