java8을 사용하여 다음 코드를 바꾸고 싶습니다 Optional
.
public Obj getObjectFromDB() {
Obj obj = dao.find();
if (obj != null) {
obj.setAvailable(true);
} else {
logger.fatal("Object not available");
}
return obj;
}
다음 의사 코드는 orElseRun
방법 이 없기 때문에 작동하지 않지만 어쨌든 내 목적을 보여줍니다.
public Optional<Obj> getObjectFromDB() {
Optional<Obj> obj = dao.find();
return obj.ifPresent(obj.setAvailable(true)).orElseRun(logger.fatal("Object not available"));
}