Nilai Null Java dan Fungsinya
Pengertian
public class Test
{
public static void main (String[] args) throws java.lang.Exception
{
// compile-time error : can't
// find symbol 'NULL'
Object obj = NULL;
// proses berjalan sukses
Object obj1 = null;
}
}
can't find symbol 'NULL'
^
variable NULL
class Test
1 error
public class Test
{
private static Object obj;
public static void main(String args[])
{
// program ini akan mencetak
// nilai null
System.out.println("Nilai"
+" object obj adalah : "
+ obj);
}
}
Baca Juga:
Contoh:
/* null ditetapkan sebagai nilai String */
String str = null;
/* null ditetapkan sebagai nilai integer */
Integer itr = null;
/* null ditetapkan sebagai nilai double */
Double dbl = null;
/* null ditetapkan sebagai cast pada String */
String myStr = (String) null;
/* null ditetapkan sebagai cast pada integer */
Integer myItr = (Integer) null;
/* null ditetapkan sebagai cast pada double */
Double myDbl = (Double) null;
public class Test
{
public static void main (String[] args) throws java.lang.Exception
{
// integer dapat bernilai null
Integer i = null;
// Unboxing null untuk nilai
// integer akan memberikan
// NullpointerException
int a = i;
}
}
at Test.main(Test.java:6)
lima, Operator instanceof: operator instanceof Java digunakan untuk menguji apakah objek adalah sebuah instance dari tipe data spesifik (class, subclass, atau interface). Pada saat runtime, hasil dari operator instanceof akan bernilai benar jika nilai dari ekspresi tidak sama dengan null. Operasi instanceof properti berguna untuk memeriksa cast tipe data.
public class Test
{
public static void main (String[] args) throws java.lang.Exception
{
Integer i = null;
Integer j = 10;
/* cetak nilai false */
System.out.println(i instanceof Integer);
/* proses kompilasi sukses */
System.out.println(j instanceof Integer);
}
}
true
enam, Method static dan non static: Method non-static tidak bisa dipanggil pada referensi variabel bernilai null, proses ini akan memberikan NullPointerException. Tetapi, method static dapat dipanggil dengan variabel referensi yang bernilai null. Method static terikat menggunakan static binding, jadi tidak akan membuang Null Pointer Exception.
public class Test
{
public static void main(String args[])
{
Test obj= null;
obj.staticMethod();
obj.nonStaticMethod();
}
private static void staticMethod()
{
// dapat dipanggil menggunakan
// referensi null
System.out.println("static"
+" method, dapat dipanggil"
+" oleh referensi null");
}
private void nonStaticMethod()
{
// tidak dapat dipanggil
// menggunakan referensi null
System.out.print(" Non-static"
+" method- ");
System.out.println("tidak"
+" dapat dipanggil oleh"
+" referensi null");
}
}
java.lang.NullPointerException
at Test.main(Test.java:5)
tujuh, == dan !=, Operator perbandingan tidak dapat dipergunakan pada null. Operator ini dapat berguna dalam pengecekkan null dengan tipe data objek pada Java.
public class Test
{
public static void main(String args[])
{
// mengembalikan nilai true
System.out.println(null==null);
// mengembalikan nilai false
System.out.println(null!=null);
}
}
false
- Penanda Ketidakhadiran Objek: Nilai null digunakan untuk menunjukkan ketidakhadiran objek yang valid. Ini berguna ketika suatu variabel mungkin atau mungkin tidak merujuk ke objek.
- Penanganan Kesalahan: Dalam beberapa situasi, nilai null digunakan untuk menandakan bahwa operasi tidak berhasil atau objek tidak ditemukan.
- Membebaskan Memori: Dengan memberi nilai null pada variabel, Java menandakan bahwa objek yang sebelumnya dipegang oleh variabel tersebut tidak lagi diakses, dan dapat dihapus oleh pemulung sampah (garbage collector) untuk membebaskan memori.
- Pengecekan Null: Sebelum menggunakan variabel yang mungkin bernilai null, selalu disarankan untuk melakukan pengecekan null untuk menghindari NullPointerException.
- Sintak: if (nama != null) {/* Lakukan sesuatu dengan variabel nama */}
- Penggunaan Operator Ternary: Operator ternary dapat digunakan untuk memberikan nilai default jika variabel bernilai null.
- Sintak: String namaLengkap = (nama != null) ? nama : "Tidak Ada Nama";
- Penanganan Pengecualian: Saat menangani pengecualian, pastikan untuk menangani NullPointerException dengan benar.
- Sintak: try {/* Potensi NullPointerException */} catch (NullPointerException e) {/* Penanganan kesalahan */}
- Minimalisir Penggunaan Nilai Null: Sebisa mungkin, hindari menggunakan nilai null dalam desain kode. Gunakan alternatif seperti objek default atau opsi yang aman jika memungkinkan.
- Dokumentasikan Penggunaan Nilai Null: Jika suatu variabel mungkin bernilai null, dokumentasikan dengan jelas dalam komentar kode agar pengguna kode mengetahui risikonya.
- Tes dan Debug dengan Cermat: Selalu lakukan pengujian yang cermat untuk memastikan bahwa variabel bernilai null tidak menyebabkan kesalahan atau kegagalan dalam program.
Kesimpulan
6 komentar untuk "Nilai Null Java dan Fungsinya"
Hubungi admin melalui Wa : +62-896-2414-6106
Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.
Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.
- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -
Apa yang dimaksud dengan null pada bahasa pemrograman Java?
BalasHapusPada bahasa pemrograman Java, null adalah keyword khusus untuk nilai literal. Saya seperti halnya keyword, namun null adalah literal yang mirip dengan nilai TRUE atau FALSE. Keyword null bersifat case sensitif dan tidak dapat ditulis NULL, kompilator tidak akan mengenali NULL dan akan menampilkan pesan error pada program.
HapusBerarti antara penulisan null dan NULL adalah tidak sama?
BalasHapusIya, tidak sama, pada Java nilai yang "null" adalah bentuk penulisan yang benar.
HapusApa fungsi null pada bahasa pemrograman Java?
BalasHapusNilai null adalah nilai khusus yang digunakan sebagai penanda dalam SQL untuk menunjukkan bahwa nilai data tidak ada dalam database. Dengan kata lain, null hanya merupakan tempat untuk menampung nilai yang hilang atau yang tidak diketahui sama sekali.
Hapus