【发布时间】:2017-08-29 09:07:27
【问题描述】:
public ValueA map(ValueB valueB, Date date) {
Optional<ValueC> valueCOpt = find(valueB);
if (valueCOpt.isPresent()) {
ValueC valueC = valueCOpt.get();
// call many getters on valueC and do a lot of logic with it.
return map(/*some parameters*/);
}
return null;
}
这看起来很丑陋。选项的优势在这里完全消失了。我读到应该使用map 或flatMap 而不是get。但是,如果我替换每个 getter 真的有好处吗
valueC.getFieldA()
与
valueCOpt.map(ValueC::getFieldA)
您知道这里的一些常见或最佳做法吗?
【问题讨论】:
标签: java java-8 refactoring optional