【发布时间】:2019-02-06 15:41:17
【问题描述】:
所以我的文件中有以下代码行
List<String> nameList = new ArrayList<String>();
现在每次我运行声纳扫描时,它都会在上面的行中显示一个错误,说我应该改用菱形运算符。现在我明白了,Java7 编译器会自动检测并提供 ArrayList 的对象类型,但我的问题是,如果我在声明类时自己这样做会有害处吗?
这里是rule link from Sonar website。我真的不明白他们提供的这个规则的例子。
是否有任何性能、效率或任何其他类型的增益? 将代码更改为 Sonar 的建议?
【问题讨论】:
-
你只是在浪费按键。这是唯一的性能问题。
-
对此不应有硬性规定。但是有人可能会争辩说,如果具体类型会被重复(您只需更改类型),菱形运算符会更容易维护。
-
我认为它对性能或其他方面没有任何影响,它只是一个较短的声明。请注意,严重性设置为次要,因此无需担心。
-
还要注意泛型只存在于源代码中,而不存在于字节码中,这意味着它与性能和效率无关。
标签: java sonarqube sonarqube-scan