声纳假阳性不变性规则

时间:2017-09-22 09:10:10

标签: java sonarqube immutability sonarqube-scan sonarqube5.1

希望有人可以帮助澄清这一点。

考虑使用以下异常类型:

public class SomeException extends RuntimeException {
    private List<String> messages;

    public SomeException(List<String> messages) {
        this.messages = Collections.unmodifiableList(messages);
    }

    public List<String> getMessages() {
        return this.messages;
    }
}

对于getMessages方法,Sonar说违反了不变性规则,我应该返回内部列表的副本。

然而,没有必要这样做,因为Sonar应该弄清楚内部List只能通过构造函数设置,因此通过调用Collections.unmodifiableList本质上无法修改。

有没有人遇到过这样的问题?

我个人并不想再次复制这份名单。

0 个答案:

没有答案