我是通过一些JMockit例子阅读和发现这样的代码:
final List<OrderItem> actualItems = new ArrayList<~>();
是什么在通用标识波浪线是什么意思?我知道这是一元的按位NOT运算符,但我没有在这里看到一个操作数。
此外,我试图编译它,并得到了一个错误。我只是失去了一些东西?
这仅仅是“相同的声明”的简写。
有些IDE,例如的IntelliJ也用这个。
磁盘上的文件没有这个符号,这是只有在IDE GUI压实。
如果没有一个波浪线,我会说,代码已经Java 7中Java 7 allows the diamond operator所以这是/将是法律的Java代码:
Map<String, List<String>> map = new HashMap<>();
(但是 - 这个语法没有波浪号)
在IntelliJ IDEA的,这里的~
:
Set<String> associations = new LinkedHashSet<~>();
装置String
,这是与在上左侧上的声明。
我认为这是速记意味着任何类型的,在这种情况下OrderItem的。