我正在阅读一些JMockit示例,发现了这段代码:
final List<OrderItem> actualItems = new ArrayList<~>();
波浪号在泛型标识符中表示什么?我知道它是一元位取反运算符,但我在这里没有看到操作数。
另外,我尝试编译它并得到了一个错误。我是不是缺少什么东西?
我正在阅读一些JMockit示例,发现了这段代码:
final List<OrderItem> actualItems = new ArrayList<~>();
波浪号在泛型标识符中表示什么?我知道它是一元位取反运算符,但我在这里没有看到操作数。
另外,我尝试编译它并得到了一个错误。我是不是缺少什么东西?
它只是“same as in declaration”的简写。
一些IDE,比如IntelliJ也使用这个符号。
磁盘上的文件没有这个标记,它只是IDE GUI中的一个缩写。
如果没有波浪号,我会说,这段代码已经是Java 7了。 Java 7允许使用菱形操作符,因此这段代码是/将成为合法的Java代码:
Map<String, List<String>> map = new HashMap<>();
但是-这种语法没有波浪号
~
表示:Set<String> associations = new LinkedHashSet<~>();
表示String
,与左侧声明中的相同。