Heim > Java > javaLernprogramm > Java-String-Vergleich: „==' vs. „.equals()' – wann welche verwenden?

Java-String-Vergleich: „==' vs. „.equals()' – wann welche verwenden?

Barbara Streisand
Freigeben: 2024-12-06 14:14:12
Original
353 Leute haben es durchsucht

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

Objektreferenzvergleich vs. Wertgleichheit in Java

In Java kann die Bestimmung der Objektgleichheit verwirrend sein, wenn Zeichenfolgen mit dem ==-Operator verglichen werden . Schauen wir uns dieses scheinbar mehrdeutige Verhalten genauer an.

Stellen Sie sich das folgende Szenario vor:

// 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
}
Nach dem Login kopieren

Überraschenderweise gibt der Vergleich „falsch“ zurück. Dies liegt daran, dass der ==-Operator in Java die Gleichheit der Objektreferenzen prüft, nicht die Gleichheit der Werte. Anders als in vielen anderen Sprachen sind Java-Strings Objekte. Wenn Sie zwei Zeichenfolgen mit == vergleichen, werden die Speicheradressen verglichen, in denen sich diese Objekte befinden, nicht die tatsächlichen Zeichenfolgenwerte.

Um die tatsächlichen Werte von Zeichenfolgen zu vergleichen, sollten Sie die Methode String.equals verwenden:

if ("231".equals(parts[0])) {
    // This comparison will evaluate to true
}
Nach dem Login kopieren

Diese Methode überprüft den Inhalt der Zeichenfolgen, nicht ihre Objektreferenzen.

Denken Sie daran, dass für alle Objekte in Java der Operator == prüft Referenzgleichheit, während die Methode „equals“ die tatsächlichen Objektwerte vergleicht. Es ist wichtig, „equals“ zu verwenden, wenn Sie die Gleichheit von Objekten prüfen, da == beim Vergleich von Objektreferenzen zu falschen Schlussfolgerungen führen kann.

Das obige ist der detaillierte Inhalt vonJava-String-Vergleich: „==' vs. „.equals()' – wann welche verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage