
Belajar menggunakan Java Optional
Seringkali kita sebagai Programmer mengalami NullPointerExceptions
yang mana merupakan error Runtime
, dimana pada umumnya terjadi ketika null check dari JVM. Java 8 mengenalkan Optional<T>
untuk membantu para developer atau pengembang aplikasi Java dalam menangani nilai Null.
Optional merupakan sebuah kontainer bagi tipe data tertentu dengan nilai yang mungkin null
atau tidak ada.
Sebagai contoh misalnya kita ingin mencari data seorang mahasiswa dari Database dengan memberikan nomor mahasiswa atau dalam hal ini NIM.
Siswa siswa = cariSiswaByNim("23877494");
System.out.println("Mahasiswa = " + siswa.getNama());
contoh diatas memungkinkan terjadinya situasi NullPointerException
, yang bisa terjadi ketika data Mahasiswa tidak terdapat dalam Database, sehingga code snippet diatas akan memberikan throw a NullPointerException
.
Hal ini bisa dengan mudah ditangani jika kita menggunakan Optional, sbb :
Optional<Siswa> siswa = cariSiswaByNim("23877494");
if(siswa.isPresent()) {
// data Mahasiswa ditemukan
System.out.println("Mahasiswa : " + siswa.get().getNama());
} else {
// data Mahasiswa tidak ada
System.out.println("Mahasiswa : tidak ada");
}
beberapa method lainnya dari Optional
dapat membantu kita dalam menangani nilai Null, seperti :
Optional.empty();
Optional.ofNullable(...);
Optional.of(...);
ifPresent(...);
get();