SonarQube规则冲突

时间:2015-09-02 22:07:12

标签: sonarqube

SonarQube报道了#'制作" ID"瞬态或可序列化的#39;对于这行代码:

private final List<String> ids;

所以我把它改成了:

private final ArrayList<String> ids;

并确保我的公共接口(在这种情况下是构造函数)仍然只使用一个接口:

public MyClass(List<String> ids) {
    this.ids = (ids == null) ? new ArrayList<>() : new ArrayList<>(ids);
}

这摆脱了第一个SonarQube警告,但现在它给出了:

&#34; ID&#34;的类型对象应该是一个接口,例如&#34; List&#34;而不是实现&#34; ArrayList&#34;。

我不想关闭使用接口而不是具体类的所有规则,但仅限于此类情况。

1 个答案:

答案 0 :(得分:1)

你没有说你正在使用什么版本的Java插件,但它可能是3.4之前的版本; v3.4中的that rule was relaxed忽略私有字段。