java 尖括号里面的问号代表啥意思,问号后面带个变量是什么意思,示例代码说明下
时间: 2023-08-05 20:36:07 浏览: 324
CSS 连接地址后面加上问号(?)表示什么意思?
Java中的尖括号里面的问号表示通配符,可以用来表示任何类型。当问号后面带一个 extends 或 super 关键字以及一个类型时,表示通配符的上限或下限。
例如,以下代码中的通配符 ? extends Number 表示只能是 Number 或其子类:
```java
List<? extends Number> list = new ArrayList<>();
```
而以下代码中的通配符 ? super Integer 表示只能是 Integer 或其父类:
```java
List<? super Integer> list = new ArrayList<>();
```
当问号后面带一个变量时,表示该通配符所代表的类型将在运行时确定。例如:
```java
List<? extends T> list = new ArrayList<>();
```
其中,T 是一个类型参数,在运行时会被具体的类型替换。这样可以实现一些灵活的编程方式,例如在泛型方法中使用通配符。
阅读全文