[英]JAVA 8 Optional map or else
您好,我用Optional<Parameter>
編寫了語句,如果Parameter存在且其值為false ,則返回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()
之前的運算符我做錯了什么。
解決方法如下:
public boolean getNoDailyAllowance(final String code) {
return !parameterDao
.getCachedParameter(code)
.map(Parameter::currentValueBoolean)
orElse(true);
}
由於parameter.getCurrentValue()
返回String
您不能使用!
。
您應該使用!
僅在布爾值之前:
parameter -> ! Boolean.parseBoolean(parameter.getCurrentValue())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.