我有以下用 java 编写的自定义异常:
import java.util.List;
public class PolicyException extends RuntimeException {
private static final long serialVersionUID = -1760901980049241500L;
private PolicyErrorCode code;
private List<String> variables;
public PolicyException(final PolicyErrorCode code, final List<String> variables) {
this.code = code;
this.variables = variables;
}
public PolicyErrorCode getCode() {
return code;
}
public void setCode(final PolicyErrorCode code) {
this.code = code;
}
public List<String> getVariables() {
return variables;
}
public void setVariables(final List<String> variables) {
this.variables = variables;
}
}
我收到以下检查样式错误:
字段“代码”必须声明为 final。
字段“变量”必须声明为 final。
我相信抛出的 checkstyle 错误是FinalLocalVariableCheck。根据api:
确保永远不会改变其值的局部变量必须声明为 final。
但是,显然所涉及的变量有 getter 和 setter,因此它们不能被声明为 final。
这些错误不会发生在我的所有类中,只是自定义异常,由于扩展异常而可序列化。
我在这里错过了什么吗?或者这是一个检查样式错误?
我相信这个人也有类似的问题,尽管在他的帖子中使用静态变量似乎有点混乱。