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;
}
이것은 상당히 추한 것 같습니다. optionals의 장점은 완전히 여기에있다. 나는 get
대신 map
또는 flatMap
을 사용해야한다고 읽었습니다. 내가Optional.get 및 Optional.isPresent 사용을 피하는 방법
valueCOpt.map(ValueC::getFieldA)
와
valueC.getFieldA()
같은 모든 게터는 여기에 몇 가지 일반적인 또는 모범 사례를 알아 교체한다면 그것은 정말 이득이다? 당신은 예외
ValueA valueA = valueCOpt.map(valueC -> mapToValue(valueC))
.orElse(null);
OrElse라는를 (필요한 경우
https://www.youtube.com/watch?v=Ej0sss6cq14 – Eugene