我想问你一个主意。我有一个类,其中有很多if语句,可以这样说:
List<String> errors = new ArrayList<>();
boolean errorCodition1 = SuperUtils.calculateIfObjectIsCorrect(this); // rest of them same
if(errorCondition1){
errors.add(errorsMessage.getSuperError());
}
if(errorCondition2){
errors.add(errorsMessage.getMinorError());
}
if(errorCondition3){
errors.add(errorsMessage.getAlmostCriticalError());
}
if(errorCondition4){
errors.add(errorsMessage.getOverNineThousendError());
}
displayErrors(errors);
也许这段代码看起来并不可怕,但是假设我们需要添加更多条件。您将如何避免呢?
总是在初始化类时调用此代码,因此例如在构造函数中说。
如果使用的是Java8和更高版本,则可以通过将if语句提取到函数中来简化此操作:
void addToErrorsIf(boolean errorCondition, List<String> errors, Supplier<String> a) {
if(errorCondition) {
errors.add(a.get());
}
}
然后可以像这样使用它:
addToErrorsIf(errorCodition1, errors, errorsMessage::getSuperError);
addToErrorsIf(errorCodition2, errors, errorsMessage::getMinorError);
//and so on
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句