创建 Java 泛型类时,尖括号中的波形符意味着什么?
我正在阅读一些 JMockit 示例,发现了这段代码:
final List<OrderItem> actualItems = new ArrayList<~>();
What does the tilde in the generic recognizermeaning?我知道它是一元按位 NOT 运算符,但我在这里没有看到操作数。
另外,我尝试编译它并收到错误。我只是错过了什么吗?
I was reading through some JMockit examples and found this code:
final List<OrderItem> actualItems = new ArrayList<~>();
What does the tilde in the generic identifier mean? I know it's the unary bitwise NOT operator, but I don't see an operand here.
Also, I tried compiling it and got an error. Am I just missing something?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
一些 IDE,例如 IntelliJ 也使用它。
磁盘上的文件没有这个符号,这只是IDE GUI中的一个压缩。
Some IDEs, e.g. IntelliJ use this too.
The files on disk do not have this notation, which is only a compaction in the IDE GUI.
如果没有波形符,我会说,代码已经是 Java 7。 Java 7 允许使用菱形运算符,因此这是/将是合法的 Java 代码:(
但是 - 此语法中没有波形符)
If there wasn't a tilde, I'd say, the code was already Java 7. Java 7 allows the diamond operator so this is/will be legal Java code:
(but - no tilde with this syntax)
在IntelliJ IDEA中,这里的
~
表示
String
,与左侧的声明相同。In IntelliJ IDEA, the
~
here:means
String
, which is the same as in the declaration on the left side.我认为这是表示任何类型的简写,在本例中为 OrderItem。
I think that is shorthand to mean whatever the type is, in this case OrderItem.