[ HTML ] [ Java ] [ Bahasa C ]


Selasa, Mei 04, 2021

Fakta Menarik Seputar null pada Bahasa Pemrograman Java

Hampir semua bahasa pemrograman terikat dengan null. Bahkan, hampir tidak ada satupun programmer yang tidak pernah bermasalah dengan penggunaan null. null pada Bahasa pemrograman Java diasosiasikan pada java.lang.NullPointerException. Class ini terdapat pada java.langpackage.

java.lang.NullPointerException dipanggil ketika programmer mencoba menjalankan beberapa operasi dengan atau tanpa null yang terkadang dapat muncul tiba-tiba pada program. Berikut beberapa poin penting tentang null dalam Java yang harus diketahui oleh setiap programmer Java.

satu, null bersifat case sensitive: null merupakan bentuk harfiah (literal) pada Java dan karena keyword null bersifat case sensitive, maka null tidak bisa diketik NULL atau 0 pada bahasa Java seperti halnya pada bahasa pemrograman C.

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

}

 

}

Output:
5: error: cannot find symbol
can't find symbol 'NULL'
^
variable NULL
class Test
1 error

dua, Nilai variabel referensi: setiap referensi variabel pada Java memiliki nilai default null.

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

}

 

}

Output:
Nilai object obj adalah : null

tiga, Literasi null: null bukanlah objek ataupun juga tipe data. null adalah sebuah nilai spesial, dimana bisa ditetapkan terhadap berbagai tipe referensi apapun dan juga bisa digunakan sebagai tipe data null untuk berbagai jenis tipe data.

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;

empat, Autoboxing dan unboxing: selama operasi autoboxing dan unboxing, compiler secara sederhana akan melempar Nullpointer excetion error jika nilai null ditetapkan untuk tipe data primitif.

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;

}

 

}

Output:
Exception in thread "main" java.lang.NullPointerException
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);

}

 

}

Output:
false
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");

}

 

}

Output:
static method, dapat dipanggil oleh referensi nullException in thread "main"
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);

}

 

}

Output:
true
false

6 komentar:

  1. Apa yang dimaksud dengan null pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Pada 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.

      Hapus
  2. Berarti antara penulisan null dan NULL adalah tidak sama?

    BalasHapus
    Balasan
    1. Iya, tidak sama, pada Java nilai yang "null" adalah bentuk penulisan yang benar.

      Hapus
  3. Apa fungsi null pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Nilai 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

Respon komentar 7 x 24 jam, so please be patient :D