Perbandingan Rentetan dengan ==
Di Java, membandingkan rentetan menggunakan "==" mungkin mengembalikan hasil yang tidak dijangka. Bertentangan dengan jangkaan, menggunakan "==" pada dua pembolehubah rentetan mungkin menghasilkan "palsu" walaupun ia kelihatan sama.
Pertimbangkan kod berikut:
String parts[] = {"231", "CA-California", "Sacramento-155328", "aleee", "Customer Service Clerk", "Alegra Keith.doc.txt"}; System.out.println("231" == parts[0]); // False
Penjelasan:
Pengendali "==" dalam Java menguji sama ada dua objek merujuk kepada lokasi memori yang sama. Dalam contoh di atas, bahagian[0] dan "231" ialah dua objek berasingan dalam ingatan, walaupun kedua-duanya memegang nilai yang sama ("231"). Oleh itu, "231" == bahagian[0] menilai kepada palsu.
Penyelesaian:
Untuk membandingkan nilai rentetan dalam Java, gunakan kaedah sama. Kaedah equals, diwarisi daripada Object, mengembalikan true jika dua rentetan mempunyai nilai yang sama.
System.out.println("231".equals(parts[0])); // True
Amalan Terbaik:
Dalam Java, sentiasa gunakan equals untuk membandingkan objek, termasuk rentetan. Amalan ini memastikan bahawa anda membandingkan nilai objek, bukan rujukan memorinya.
Atas ialah kandungan terperinci Mengapakah \'==\' Gagal Membandingkan Rentetan dengan Betul di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!