Java 如果是S2386,可变字段不应为;“公共静态”;假阳性/阴性

Java 如果是S2386,可变字段不应为;“公共静态”;假阳性/阴性,java,sonarqube,Java,Sonarqube,SonarLint似乎认为Collections.singletonList是可变的,即使列表中的值是不可变的。这是一个错误还是规则不够聪明,无法检查列表类型的易变性 public static final List<String> STRING_LIST = Collections.singletonList("myString"); 上面运行的是QUBE 6.2。似乎是Collections.emptyList()也被认为是可变的。 public static final Li

SonarLint似乎认为
Collections.singletonList
是可变的,即使列表中的值是不可变的。这是一个错误还是规则不够聪明,无法检查列表类型的易变性

public static final List<String> STRING_LIST = Collections.singletonList("myString");

上面运行的是QUBE 6.2。

似乎是
Collections.emptyList()
也被认为是可变的。
public static final List<Point> POINTS = Collections.unmodifiableList(Collections.singletonList(new Point(1, 2)));