希望有人可以帮助澄清这一点。
考虑使用以下异常类型:
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
本质上无法修改。
有没有人遇到过这样的问题?
我个人并不想再次复制这份名单。