Vergleichen von Strings (Java): Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
Zeile 1: Zeile 1:
Strings werden '''nicht''' wie primitive Datentypen mit dem "==" Operator verglichen!
+
Strings werden '''nicht''' wie primitive Datentypen mit dem "==" Operator verglichen!<br>
Strings sind Objekte, die mit der Methode <code>equals(Object obj)</code> verglichen werden.
+
Strings sind Objekte, die mit der Methode <code>equals(Object obj)</code> 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.
  

Version vom 10. August 2013, 15:43 Uhr

Strings werden nicht wie primitive Datentypen mit dem "==" Operator verglichen!
Strings sind Objekte, die mit der Methode 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