java如何避免Checkstyle的FinalClass模块在存在从基继承的内部类时抱怨?
下面是我的real model类的一个简化场景,以突出这个问题
public class NullableModel {
public static final NullableModel NULL = new NullableModel() {
@Override
public boolean isNull() {
return true;
}
};
public static NullableModel withValues(Object... values) {
// some checks that sets 'allValid' boolean depending if value is OK
boolean allValid = ...
return allValid? new NullableModel(values) : NULL;
}
private Object[] values;
private NullableModel(Object... values) {
this.values = values;
}
public boolean isNull() {
return false;
}
...
}
如果我没有遗漏任何东西,那么这段代码可以正确编译。如果我在启用FinalClass模块的情况下运行checkstyle,它会抱怨,因为NullableModel不是final(而所有构造函数都是私有的)。但是,如果我创建最终的NullableModel,它将在NULL静态最终声明中给我一个编译错误,因为任何东西都不能从NullableModel继承,因为它是最终的
FinalClass检查对我的项目的很多其他部分都有效,这只是个例外。因此,由于我无法使其成为最终版本,那么问题是,如何在不禁用FinalClass检查的情况下避免checkstyle错误
提前谢谢
共 (0) 个答案