Video: Tutorial Java Desktop 5 || Tipe Data Primitive dan Wrapper Class 2024
Perbedaan antara tipe primitif dan tipe referensi adalah salah satu fitur Java yang paling kontroversial, dan pengembang sering mengeluh tentang perbedaan antara nilai primitif dan nilai referensi.
-
Setiap tipe primitif dipanggang ke dalam bahasa.
Java memiliki delapan tipe primitif.
-
Setiap tipe referensi adalah kelas atau antarmuka.
Anda dapat menentukan tipe referensi Anda sendiri. Jadi jumlah tipe referensi di Jawa berpotensi tak ada habisnya.
Inilah salah satu tipe primitif versus referensi 'gotchas: "Anda tidak dapat menyimpan nilai primitif dalam ArrayList. Anda bisa menulis
// INI BAIK: ArrayList arrayList = new ArrayList ();
karena String adalah tipe referensi. Tapi Anda tidak bisa menulis
// JANGAN LAKUKAN INI: ArrayList arrayList = new ArrayList ();
karena int adalah tipe primitif. Untungnya, masing-masing tipe primitif Jawa memiliki tipe wrapper , yang merupakan tipe referensi yang tujuannya mengandung nilai tipe lain. Misalnya, objek tipe Integer Java berisi nilai int tunggal. Objek tipe Double Java berisi satu nilai ganda. Objek tipe Karakter Java berisi satu nilai char. Anda tidak dapat membuat nilai int ArrayList, namun Anda dapat membuat nilai ArrayList of Integer.
// INI BAIK: ArrayList arrayList = new ArrayList ();
Setiap nama tipe primitif diawali dengan huruf kecil. Setiap nama tipe pembungkus diawali dengan huruf besar.
Selain mengandung nilai primitif, kelas pembungkus memberikan metode yang berguna untuk bekerja dengan nilai primitif. Misalnya, kelas pembungkus Integer berisi metode parseInt dan metode lain yang berguna untuk bekerja dengan nilai int:
String string = "17"; int number = Integer parseInt (string);
Pada sisi negatifnya, bekerja dengan tipe pembungkus bisa menjadi kikuk. Misalnya, Anda tidak dapat menggunakan operator aritmatika dengan tipe pembungkus numerik Java. Inilah cara untuk membuat dua nilai Integer dan menambahkannya bersama-sama:
Integer myInteger = new Integer (3); Integer myOtherInteger = new Integer (15); Integer sum = myInteger. intValue () + myOtherInteger. intValue ();