In der Programmiersprache Java wird die equals()
Methode verwendet, um zwei String-Objekte auf Inhalts-Gleichheit zu überprüfen. Diese Methode überprüft, ob die Zeichenfolgen innerhalb der String-Objekte identisch sind, und nicht, ob es sich um dasselbe Objekt handelt.
Ein wichtiger Unterschied zu beachten ist, dass equals()
und ==
nicht identisch sind. Während der ==
Operator überprüft, ob zwei Variablen auf dasselbe Objekt im Speicher zeigen (d.h. sie sind identisch), überprüft equals()
ob die von den Variablen repräsentierten Zeichenfolgen gleich sind.
Hier ist ein einfaches Beispiel:
String str1 = "Hallo Welt";
String str2 = "Hallo Welt";
String str3 = str1;
System.out.println(str1.equals(str2)); // Gibt "true" aus
System.out.println(str1 == str2); // Gibt "false" aus
System.out.println(str1 == str3); // Gibt "true" aus
In diesem Fall gibt str1.equals(str2)
"true" aus, da die Zeichenfolgen in beiden Objekten gleich sind. Jedoch gibt str1 == str2
"false" aus, weil obwohl die Zeichenfolgen gleich sind, str1 und str2 sich auf verschiedene Objekte im Speicher beziehen. Im Gegensatz dazu gibt str1 == str3
"true" aus, da str1 und str3 sich auf dasselbe Objekt im Speicher beziehen.
Es ist daher eine empfehlenswerte Praxis in Java, immer die equals()
-Methode zu verwenden, wenn Sie den Inhalt von zwei String-Objekten vergleichen möchten, und nicht auf die ==
-Syntax.