Eclipse警告"使用菱形运算符替换此构造函数调用中的类型规范('<>')"在Java项目中

时间:2017-11-20 16:16:49

标签: java eclipse java-8 sonarlint sonarlint-eclipse

当Eclipse询问Replace the type specification in this constructor call with the diamond operator ('<>')时,Eclipse的含义是什么,因为所述运算符已存在?

然后我将光标放在带蓝色下划线的内容上,然后按 F2 了解更多内容,我收到此消息(Replace the type specification in this constructor call with the diamond operator ('<>')):

An Eclipse warning saying "Replace the type specification in this constructor call with the diamond operator ('<>')"

如果我从Object中删除<>,Eclipse仍然不满意:

An Eclipse warning saying "Replace the type specification in this constructor call with the diamond operator ('<>')"

修改

我们确保

  • java.util.List已导入
  • 保存了更改
  • Project -> Clean...命令已应用

蓝色警告仍然不会消失。

2 个答案:

答案 0 :(得分:6)

这似乎是 SonarLint的钻石操作检查器中的错误,而不是Eclipse JDT:请参阅the source code of SonarLint that contains the message

另请参阅:SonarJava Rule 2293: The diamond operator ("<>") should be used

<强>解决方案:

禁用 SonarJava规则2293 使用 Eclipse警告 通用类型&gt ;冗余类型参数(1.7或更高) 代替。

答案 1 :(得分:-1)

保存文件(如果“自动构建”关闭则重建),该警告应该消失。