जावा 8 Optional
कक्षा प्रस्तुत करता है।यदि शून्य नहीं है - जावा 8 शैली
से पहले (जावा 7):
Order order = orderBean.getOrder(id);
if (order != null) {
order.setStatus(true);
pm.persist(order);
} else {
logger.warning("Order is null");
}
तो जावा 8 शैली पर:
Optional<Order> optional = Optional.ofNullable(orderBean.getOrder(id));
optional.ifPresent(s -> {
s.setStatus(true);
pm.persist(s);
//Can we return from method in this place (not from lambda) ???
});
//So if return take place above, we can avoid if (!optional.isPresent) check
if (!optional.isPresent) {
logger.warning("Order is null");
}
यह इस मामले में Optional
उपयोग करने के लिए सही है? क्या कोई जावा 8 शैली में एक और अधिक सुविधाजनक तरीका प्रस्तावित कर सकता है?
यह अक्षम है, लेकिन क्लीनर तरीका है, आप विकल्प के अंदर वैकल्पिक तत्व को ब्लॉक कर सकते हैं और NoSuchElementException अपवाद को पकड़ सकते हैं। – piezol