Sebagai orang yang sering mengalami error Null Pointer Exception (NPE), saya jadi semakin berhati-hati ketika mendaklarasikan sebuah object. Saya akan mencoba mengingat-ingat case apa saja yang pernah saya temui. Selamat membaca!
Case
Getter & setter akan gagal melakukan tugasnya ketika bertemu dengan object null. Misalkan pada saat query ke database dan data tidak ditemukan, maka object tersebut akan bernilai null.
Contoh : Kita akan mengambil data Category by code, tapi datanya terdeteksi not found. Akibatnya object Category akan bernilai null.
Pada saat kita mencoba mengakses field/atribute yang ada didalam class Category, maka akan terjadi NPE. Kenapa bisa NPE?
Object yang bernilai null ibaratnya tidak dikenali, ia dianggap tidak memiliki value/nothing object/tidak merujuk ke class manapun. Bukan sebuah empty object/blank object.
Tips: Kalau misalkan kalian menggunakan IntelliJ sebagai code editor, hal seperti ini bisa terdeteksi dengan menginstall plugin Sonarlint.