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
353 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!

sumber:php.cn
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