Video: Tutorial Java Desktop 5 || Tipe Data Primitive dan Wrapper Class 2024
Perbezaan antara jenis primitif dan jenis rujukan adalah salah satu ciri yang paling kontroversi di Jawa, dan pemaju sering mengadu tentang perbezaan antara nilai primitif dan nilai rujukan.
-
Setiap jenis primitif dipanggang ke dalam bahasa.
Java mempunyai lapan jenis primitif.
-
Setiap jenis rujukan adalah kelas atau antara muka.
Anda boleh menentukan jenis rujukan anda sendiri. Jadi bilangan jenis rujukan di Jawa berpotensi tidak berkesudahan.
Berikut adalah salah satu daripada primitif-versus-jenis rujukan "gotchas:" Anda tidak boleh menyimpan nilai primitif dalam ArrayList. Anda boleh menulis
// THIS IS OKAY: ArrayList arrayList = new ArrayList ();
kerana String adalah jenis rujukan. Tetapi anda tidak boleh menulis
// JANGAN DAPAT INI: ArrayList arrayList = new ArrayList ();
kerana int adalah jenis primitif. Mujurlah, setiap jenis primitif Java mempunyai jenis pembungkus , yang merupakan jenis rujukan yang tujuannya mengandungi nilai jenis lain. Sebagai contoh, objek jenis Integer Java mengandungi nilai int tunggal. Objek jenis Double Java mengandungi nilai berganda tunggal. Objek Jenis Karakter Java mengandungi nilai char tunggal. Anda tidak boleh membuat ArrayList nilai int, tetapi anda boleh membuat ArrayList of Integer values.
// THIS IS OKAY: ArrayList arrayList = new ArrayList ();
Setiap nama jenis primitif bermula dengan huruf kecil. Setiap nama pembalut bermula dengan huruf besar.
Selain mengandungi nilai-nilai primitif, kelas wrapper menyediakan kaedah yang berguna untuk bekerja dengan nilai-nilai primitif. Sebagai contoh, kelas pembalut Integer mengandungi parseInt dan kaedah lain yang berguna untuk bekerja dengan nilai int:
Rentetan rentetan = "17"; nombor int = Integer. parseInt (string);
Pada sisi bawah, bekerja dengan jenis pembalut boleh menjadi kekok. Contohnya, anda tidak boleh menggunakan pengendali aritmetik dengan jenis pembalut nombor Java. Inilah cara untuk membuat dua nilai Integer dan menambahnya bersama:
Integer myInteger = Integer baru (3); Integer myOtherInteger = Integer baru (15); Integer sum = myInteger. intValue () + myOtherInteger. intValue ();