Vergleichen von Strings (Java): Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
KKeine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
| Zeile 3: | Zeile 3: | ||
Wenn man sie mit "==" vergleicht, wird nicht der Inhalt der Objekte, sondern die Referenz auf das Objekt selbst verglichen. | Wenn man sie mit "==" vergleicht, wird nicht der Inhalt der Objekte, sondern die Referenz auf das Objekt selbst verglichen. | ||
< | <syntaxhighlight lang="java">String a = new String("blabla"); | ||
String b = new String("blabla"); | String b = new String("blabla"); | ||
String c = b; | String c = b; | ||
| Zeile 17: | Zeile 17: | ||
if(c == b) { | if(c == b) { | ||
System.out.println("gleich"); | System.out.println("gleich"); | ||
}</ | }</syntaxhighlight> | ||
Ausgabe:<br> | Ausgabe:<br> | ||
Version vom 8. März 2018, 20:02 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("equals");
}
if (a == b) {
System.out.println("==");
}
if(c == b) {
System.out.println("gleich");
}
Ausgabe:
equals- weil der Text der beiden String Objekte identisch istgleich- 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!
