您好我已经使用Optional<Parameter>
发表了书面陈述,并且如果参数存在,我将返回 true ,并且它的值是假
public boolean getNoDailyAllowance(String code) {
Optional<Parameter> myParam = parameterDao.getCachedParameter(code);
return myParam.isPresent() && !myParam.get().currentValueBoolean();
}
我想重写一下这样的
return calcDailyAllowanceParam.map(parameter -> Boolean.parseBoolean(parameter.getCurrentValue())).orElse(false);
但我无法在parameter.getCurrentValue()
错误之前添加!运算符。
答案 0 :(得分:2)
以下是解决方案:
public boolean getNoDailyAllowance(final String code) {
return !parameterDao
.getCachedParameter(code)
.map(Parameter::currentValueBoolean)
orElse(true);
}
答案 1 :(得分:0)
由于parameter.getCurrentValue()
返回String
,您无法使用!
来否定它。
您应该仅在布尔值之前使用!
:
parameter -> ! Boolean.parseBoolean(parameter.getCurrentValue())