创建 Java 泛型类时,尖括号中的波浪号是什么意思?

2022-08-31 07:59:09

我正在阅读一些JMockit示例,并找到了以下代码:

final List<OrderItem> actualItems = new ArrayList<~>();

通用标识符中的波浪号是什么意思?我知道它是一元按位 NOT 运算符,但我在这里没有看到操作数。

另外,我尝试编译它并得到一个错误。我只是错过了什么吗?


答案 1

它只是“与声明中相同”的简写。

一些IDE,例如IntelliJ也使用它。

磁盘上的文件没有此表示法,这只是 IDE GUI 中的压缩。


答案 2

如果没有波浪号,我会说,代码已经是Java 7了。Java 7 允许菱形运算符,所以这是/将是合法的 Java 代码:

Map<String, List<String>> map = new HashMap<>();

(但是 - 没有具有此语法的波浪号)