【发布时间】:2011-06-20 17:56:15
【问题描述】:
我正在阅读一些 JMockit 示例并找到以下代码:
final List<OrderItem> actualItems = new ArrayList<~>();
通用标识符中的波浪号是什么意思?我知道它是一元按位非运算符,但我在这里看不到操作数。
另外,我尝试编译它并得到一个错误。我只是错过了什么吗?
【问题讨论】:
标签: java generics intellij-idea syntax tilde
我正在阅读一些 JMockit 示例并找到以下代码:
final List<OrderItem> actualItems = new ArrayList<~>();
通用标识符中的波浪号是什么意思?我知道它是一元按位非运算符,但我在这里看不到操作数。
另外,我尝试编译它并得到一个错误。我只是错过了什么吗?
【问题讨论】:
标签: java generics intellij-idea syntax tilde
它只是“与声明相同”的简写。
一些 IDE,例如IntelliJ 也使用它。
磁盘上的文件没有这种表示法,这只是 IDE GUI 中的一种压缩。
【讨论】:
在 IntelliJ IDEA 中,~ 在这里:
Set<String> associations = new LinkedHashSet<~>();
表示String,与左边的声明相同。
【讨论】:
如果没有波浪号,我会说,代码已经是 Java 7。Java 7 allows the diamond operator 所以这是/将是合法的 Java 代码:
Map<String, List<String>> map = new HashMap<>();
(但是 - 此语法中没有波浪号)
【讨论】:
我认为这是表示任何类型的简写,在本例中为 OrderItem。
【讨论】: