รับฟิลด์ของวัตถุเสริมหรือส่งคืนค่าว่าง

ฉันมีวัตถุเสริม:

Optional<Detail> newestDetail;

ฉันต้องการส่งคืน newestDetail.getId() หรือหาก newestDetail เป็นโมฆะ ให้ส่งคืน null

เรามีแนวทางที่ซับซ้อนกว่านี้ในการทำเช่นนี้มากกว่าการติดตามหรือไม่?

return newestDetail.isPresent()?newestDetail.get().getId():null;

person Rudziankoŭ    schedule 08.12.2017    source แหล่งที่มา
comment
ตามหมายเหตุด้านข้าง มี อีกมากมาย วิธีการโน้มน้าวใจภายใน Optional ดูสิ่งนี้: youtube.com/watch?v=fBYhtvY19xA   -  person Eugene    schedule 10.12.2017


คำตอบ (1)


จับคู่ค่ากับ Optional ด้วยฟิลด์ id และเปลี่ยนค่านั้นให้เป็นค่า null หากว่างเปล่า:

return newestDetail.map(Detail::getId).orElse(null);
person Henrik Aasted Sørensen    schedule 08.12.2017