Kelas String adalah Kelas Immutable

Reading Time: 2 minutes

Pagi hari ini, tiba-tiba saya ingin membaca buku yang saya beli ketika saya SMK. Saya ambil buku tersebut dan melihat-lihat daftar isinya. Saya tertarik dengan materi di bab kelas String. Kemudian ketika membaca materi-materi di bab itu saya menemukan materi yang sudah saya lupakan, yaitu materi bahwa kelas String adalah immutable. Immutable artinya nilai dari kelas string adalah konstan atau tidak bisa dirubah.

Setelah membaca materi tersebut, saya berada di situasi antara lupa dan ingat apakah saya sudah membuktikan teori tersebut atau belum. Karena saya berada di situasi yang tidak jelas seperti itu, saya memutuskan untuk membuktikan teori tersebut. Walaupun mungkin dulu saya sudah pernah membuktikan teori tersebut.

Perhatikan kode sumber di atas. Objek String a dibuat kemudian diberi nilai “Hello”. Objek String b dibuat kemudian diisi dengan objek a. Ini artinya objek b mengacu ke objek a. Objek a kemudian kita ganti nilainya dengan “hi”. Orang yang belum tahu teori ini, pasti menyangka bahwa objek a nilainya diganti dengan “hi”. Padahal objek a tidak akan pernah bisa diganti nilainya. Ketika seolah-olah objek a diganti nilainya dengan “hi”, ketika itu sebenarnya objek String baru diciptakan kemudian diisi dengan nilai “hi”.

Nah, untuk membuktikan bahwa objek a tidak pernah diganti nilanya bisa dibuktikan dengan melakukan print pada objek b. Objek b adalah objek yang mengacu pada objek a sebelum objek a seolah-olah diganti nilainya. Kalau objek a bisa diganti nilanya, seharusnya objek b yang mengacu pada objek a ketika diprint nilainya juga akan berisi “hi”. Tetapi, setelah saya print, ternyata objek b masih bernilai “Hello”.

Kelas String adalah Kelas Immutable

Bagikan artikel

Tinggalkan Balasan