Vergleichen von Strings (Java): Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
KKeine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
| Zeile 19: | Zeile 19: | ||
}</code=java> | }</code=java> | ||
Ausgabe: | Ausgabe:<br> | ||
<code>equals</code> - | *<code>equals</code> - weil der Text der beiden String Objekte identisch ist<br> | ||
<code>gleich</code> - | *<code>gleich</code> - weil <code>c</code> und <code>b</code> auf das gleiche Objekt zeigen | ||
[[Kategorie:Java]] | [[Kategorie:Java]] | ||
[[Kategorie:Java Grundlagen]] | [[Kategorie:Java Grundlagen]] | ||
Version vom 20. September 2013, 12:12 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.
<code=java>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");
}</code=java>
Ausgabe:
equals- weil der Text der beiden String Objekte identisch istgleich- weilcundbauf das gleiche Objekt zeigen
