Seringkali saya dan mungkin sahabat sekalian mengalami exception NullPointerException (NPE) pada saat runtime yang ternyata pada saat didebug penyebab timbulnya NPE adalah statement pengecekan equality/kesamaan antara dua object.
Sebagai contoh saya memiliki sebuah method getName yang mengembalikan nilai sebuah String.
dan kemudian method tersebut saya panggil dalam method lain untuk saya bandingkan return value-nya dengan variable lain
Statement di atas dapat menyebabkan NPE pada saat runtime apabila method getName mengembalikan nilai null, untuk menghindari hal ini kita dapat meletakkan variable yang sudah pasti memiliki value pada posisi depan, sehingga statement di atas kita ubah menjadi
dengan model pengecekan seperti di atas, kita bisa menghindari terjadinya NPE yang tidak diinginkan
Sebagai contoh saya memiliki sebuah method getName yang mengembalikan nilai sebuah String.
private String getName(){ return this.name; }
dan kemudian method tersebut saya panggil dalam method lain untuk saya bandingkan return value-nya dengan variable lain
if(getName().equals("Eko Suhariyadi")){ // do something here }
Statement di atas dapat menyebabkan NPE pada saat runtime apabila method getName mengembalikan nilai null, untuk menghindari hal ini kita dapat meletakkan variable yang sudah pasti memiliki value pada posisi depan, sehingga statement di atas kita ubah menjadi
if("Eko Suhariyadi".equals(getName())){ // do something here }
dengan model pengecekan seperti di atas, kita bisa menghindari terjadinya NPE yang tidak diinginkan
Comments
Post a Comment