Dapatkan bidang objek opsional atau kembalikan nol

Saya memiliki objek opsional:

Optional<Detail> newestDetail;

Saya ingin mengembalikan newestDetail.getId() atau jika newestDetail nol, kembalikan null.

Apakah kita memiliki pendekatan yang lebih canggih dalam melakukan hal ini, daripada mengikuti?

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

person Rudziankoŭ    schedule 08.12.2017    source sumber
comment
sebagai catatan tambahan, ada banyak metode meyakinkan lainnya di dalam Optional, lihat ini: youtube.com/watch?v=fBYhtvY19xA   -  person Eugene    schedule 10.12.2017


Jawaban (1)


Petakan nilai ke Optional dengan kolom id dan ubah nilai tersebut menjadi nilai null jika kosong:

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