High Fashioners Issue # 2 | страница 145

J. E. N. I.
Figure 4: Keduanya mengarah ke object yang sama
Bagian pertama dari program ini mendeklarasikan dua variabel( str1 dan str2), memberikan literal " Free the bound periodicals." untuk str1, dan kemudian memberi nilai tersebut untuk str2. Seperti yang Anda pelajari sebelumnya, str1 dan str2 sekarang menunjuk ke object yang sama, dan uji kesamaan membuktikan hal tersebut.
str2 = new String( str1);
Padabagian yang kedua dari program ini, anda membuat object String baru dengan nilai yang sama sebagai str1 dan memberi str2 ke object baru String tersebut. Sekarang Anda memiliki dua object string yang berbeda yaitu str1 dan str2, keduanya memilki nilai yang sama. Test mereka untuk melihat jika meeka object yang sama dengan menggunakan operator == mengembalikan nilai yang diinginkan: false— mereka buka object yang sama dalam memory. Test mereka menggunakan method equals() juga mengembalikan jawaban yang diinginkan: true— mereka memiliki niali yang sama.
Figure 5: Sekarang mengarah pada object yang berbeda
• Catatan: Mengapa Anda tidak dapat hanya menggunakan literal yang lain ketika Anda mengubah str2, lebih dari menggunakan new? String literals diandalkan dalam Java; jika Anda membuat sebuah string menggunakan literal dan kemudian menggunakan literal yang lain dengan character yang sama, Java cukup mengetahui untuk memberikan Anda object String yang pertama kembali. kedua String adalah object yang sama; Anda harus menghidari langkah anda untuk membuat dua object terpisah.
Pengenalan Pemrograman 1 17