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;
}
This seems quite ugly. The advantage of optionals is completely gone in here. I read that one should rather use map
or flatMap
instead of get
. But is it really a benefit if I replace every getter like
valueC.getFieldA()
with
valueCOpt.map(ValueC::getFieldA)
Do you know some common or best practices here?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…