我正在阅读一些JMockit示例并找到了这段代码:
final List<OrderItem> actualItems = new ArrayList<~>();
通用标识符中的波浪号是什么意思?我知道它是一元按位NOT运算符,但我在这里看不到操作数。
另外,我尝试编译它并收到错误。我只是错过了一些东西吗?
答案 0 :(得分:138)
这只是“与声明相同”的简写。
某些IDE,例如IntelliJ也使用它。
磁盘上的文件没有这种表示法,这只是IDE GUI中的压缩。
答案 1 :(得分:13)
如果没有代字号,我会说,代码已经是Java 7. Java 7 allows the diamond operator所以这将是合法的Java代码:
Map<String, List<String>> map = new HashMap<>();
(但是 - 没有这种语法的代号)
答案 2 :(得分:7)
在IntelliJ IDEA中,此处~
:
Set<String> associations = new LinkedHashSet<~>();
表示String
,与左侧声明中的相同。
答案 3 :(得分:2)
我认为这是简写,无论类型是什么,在这种情况下 OrderItem 。