Rumah > Java > javaTutorial > Perbandingan Rentetan Java: `==` lwn. `.equals()` – Bila Menggunakan Mana?

Perbandingan Rentetan Java: `==` lwn. `.equals()` – Bila Menggunakan Mana?

Barbara Streisand
Lepaskan: 2024-12-06 14:14:12
asal
397 orang telah melayarinya

Java String Comparison:  `==` vs. `.equals()` – When to Use Which?

Perbandingan Rujukan Objek lwn. Kesamaan Nilai dalam Java

Di Jawa, menentukan kesamaan objek boleh mengelirukan apabila membandingkan rentetan menggunakan operator == . Mari kita mendalami tingkah laku yang kelihatan tidak jelas ini.

Pertimbangkan senario berikut:

// Define a String array
String[] parts = {"231", "CA-California", "Sacramento-155328", "aleee", "Customer Service Clerk", "Alegra Keith.doc.txt"};

// Perform comparison
if ("231" == parts[0]) {
    // This comparison will evaluate to false
}
Salin selepas log masuk

Anehnya, perbandingan itu kembali palsu. Ini kerana operator == dalam Java menyemak kesamaan rujukan objek, bukan kesamaan nilai. Tidak seperti dalam banyak bahasa lain, rentetan Java adalah objek. Apabila anda membandingkan dua rentetan menggunakan ==, ia membandingkan alamat memori di mana objek tersebut berada, bukan nilai rentetan sebenar.

Untuk membandingkan nilai sebenar rentetan, anda harus menggunakan kaedah String.equals:

if ("231".equals(parts[0])) {
    // This comparison will evaluate to true
}
Salin selepas log masuk

Kaedah ini menyemak kandungan rentetan, bukan rujukan objeknya.

Ingat, untuk semua objek dalam Java, operator == menyemak kesamaan rujukan, manakala kaedah sama membandingkan nilai objek sebenar. Adalah penting untuk menggunakan equals apabila menyemak kesamaan objek, kerana == boleh membawa kepada kesimpulan yang salah apabila membandingkan rujukan objek.

Atas ialah kandungan terperinci Perbandingan Rentetan Java: `==` lwn. `.equals()` – Bila Menggunakan Mana?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan