Vergleichen von Strings (Java): Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springenK |
|||
Zeile 1: | Zeile 1: | ||
Strings werden '''nicht''' wie primitive Datentypen mit dem "==" Operator verglichen!<br> | Strings werden '''nicht''' wie primitive Datentypen mit dem "==" Operator verglichen!<br> | ||
− | Strings sind Objekte, die mit der Methode | + | Strings sind Objekte, die mit der Methode [http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#equals(java.lang.Object) Object#equals(Object obj)] verglichen werden.<br> |
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. | ||
Zeile 24: | Zeile 24: | ||
[[Kategorie:Java]] | [[Kategorie:Java]] | ||
+ | [[Kategorie:Java Grundlagen]] |
Version vom 20. September 2013, 12:11 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
- da der Text der beiden String Objekte identisch ist
gleich
- da c
und b
auf das gleiche Objekt zeigen