...

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();