这个波浪代表什么意思?
我正在阅读一些JMockit的例子,发现这个代码:
final List<OrderItem> actualItems = new ArrayList<~>();
generics标识符中的代字号是什么意思? 我知道这是一元运算符,但是在这里我没有看到操作数。
另外,我试着编译它,并得到一个错误。 我只是想念一些东西?
这只是“和申报一样”的简写。 一些IDE,例如Intellij也使用它。
磁盘上的文件没有这种标记,这只是在IDE GUI中的压缩。
如果没有代字号,我会说代码已经是Java 7. Java 7允许钻石运算符,所以这是/将是合法的Java代码:
Map<String, List<String>> map = new HashMap<>();
(但是 – 不用这个语法代替)
在IntelliJ IDEA中, ~
这里:
Set<String> associations = new LinkedHashSet<~>();
表示String
,与左侧声明中的相同。
我认为这是速记,意思是任何types,在这种情况下OrderItem 。