Vergleichen von Strings (Java): Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
KKeine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
| Zeile 8: | Zeile 8: | ||
if (a.equals(b)) { | if (a.equals(b)) { | ||
System.out.println("equals"); | System.out.println(a.equals(b) ? "a equals b" : a not equals b); | ||
} | } | ||
if (a == b) { | if (a == b) { | ||
System.out.println("=="); | System.out.println(a == b ? "a == b" : "a != b"); | ||
} | } | ||
if(c == b) { | if(c == b) { | ||
System.out.println(" | System.out.println(c == b ? "c == b" : "c != b"); | ||
}</syntaxhighlight> | }</syntaxhighlight> | ||
Ausgabe:<br> | Ausgabe:<br> | ||
*<code>equals</code> - weil der Text der beiden String Objekte identisch ist<br> | *<code>a equals b</code> - weil der Text der beiden String Objekte identisch ist<br> | ||
*<code> | *<code>c == b</code> - weil <code>c</code> und <code>b</code> auf das gleiche Objekt zeigen | ||
{{Fragen stellen}} | {{Fragen stellen}} | ||
[[Kategorie:Java Grundlagen]] | [[Kategorie:Java Grundlagen]] | ||
Version vom 24. April 2020, 15:53 Uhr
Strings werden nicht wie primitive Datentypen mit dem "==" Operator verglichen!
Strings sind Objekte, die mit der Methode Object#equals(Object obj) verglichen werden.
Wenn man sie mit "==" vergleicht, wird nicht der Inhalt der Objekte, sondern die Referenz auf das Objekt selbst verglichen.
String a = new String("blabla");
String b = new String("blabla");
String c = b;
if (a.equals(b)) {
System.out.println(a.equals(b) ? "a equals b" : a not equals b);
}
if (a == b) {
System.out.println(a == b ? "a == b" : "a != b");
}
if(c == b) {
System.out.println(c == b ? "c == b" : "c != b");
}
Ausgabe:
a equals b- weil der Text der beiden String Objekte identisch istc == b- weilcundbauf das gleiche Objekt zeigen
Fragen
Das Thema wurde nicht ausreichend behandelt? Du hast Fragen dazu und brauchst weitere Informationen? Lass Dir von uns helfen!
- Besuche unseren Chat
Wir helfen dir gerne!
