Rumah > Java > javaTutorial > Mengapakah \'==\' Gagal Membandingkan Rentetan dengan Betul di Jawa?

Mengapakah \'==\' Gagal Membandingkan Rentetan dengan Betul di Jawa?

Mary-Kate Olsen
Lepaskan: 2024-11-28 15:26:10
asal
799 orang telah melayarinya

Why Does

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan