Tôi muốn thay thế mã sau bằng java8 Optional
:
public Obj getObjectFromDB() {
Obj obj = dao.find();
if (obj != null) {
obj.setAvailable(true);
} else {
logger.fatal("Object not available");
}
return obj;
}
Mã giả sau đây không hoạt động vì không có orElseRun
phương pháp nào , nhưng dù sao nó cũng minh họa mục đích của tôi:
public Optional<Obj> getObjectFromDB() {
Optional<Obj> obj = dao.find();
return obj.ifPresent(obj.setAvailable(true)).orElseRun(logger.fatal("Object not available"));
}