Membuka Hashcode dalam Object.toString(): Tujuan Praktikal
Apabila mencetak perwakilan objek menggunakan Object.toString() lalai kaedah, anda akan sering menemui rentetan yang termasuk kod cincang objek. Ini menimbulkan persoalan: mengapa kod cincang ini hadir?
Sebabnya terletak pada tujuan asas kod cincang dalam bahasa pengaturcaraan Java. Di Java, kod cincang objek berfungsi sebagai pengecam unik yang membezakannya daripada objek lain. Walaupun tidak dijamin unik, objek yang sama umumnya mempunyai kod cincang yang sama.
Dengan memasukkan kod cincang dalam kaedah Object.toString(), pelaksanaan lalai menyediakan cara untuk membezakan antara objek, terutamanya dalam kes di mana ia nama kelas atau keadaan adalah sama. Ini amat berguna untuk mesej ralat dan tujuan penyahpepijatan, kerana ia membolehkan anda mengenal pasti objek khusus yang dirujuk dengan mudah.
Untuk menggambarkan perkara ini, pertimbangkan dua contoh objek dalam kelas yang sama, Anjing dan Kucing, setiap satu dengan yang sama nama "Buddy." Menggunakan Object.toString(), kita boleh membezakan antara objek ini dengan kod cincangnya:
Dog dog = new Dog("Buddy"); Cat cat = new Cat("Buddy"); System.out.println(dog.toString()); // Output: Dog@1a0e31 System.out.println(cat.toString()); // Output: Cat@45ab2c
Dalam contoh ini, kod cincang "1a0e31" dan "45ab2c" membolehkan kami mengenal pasti objek Anjing dan Kucing secara berasingan, walaupun nama mereka sama.
Oleh itu, kehadiran kod cincang dalam Object.toString() berfungsi untuk tujuan praktikal, membolehkan pembangun membezakan antara contoh objek yang berbeza, walaupun apabila nama dan keadaan kelas mereka tidak dapat dibezakan.
Atas ialah kandungan terperinci Mengapakah Java `Object.toString()` Termasuk Kod Hash?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!