I
Ich
Gast
Hallo,
ich programmiere eigentlich schon eine ganze weile, deshalb weiß ich auch, dass man den 'Inhalt' von Objekten stets mit equals prüft. Nun musste ich heute einen alten Code warten, in dem alle Strings mit == verglichen wurden...dabei musste ich aber feststellen, dass es funktioniert.
Bsp:
Google hat mir bei der Recherche eigentlich auch nur bestätigt, dass man Objekte (einschließlich String) mit equals prüft.
Aber warum funktioneiren die o.g. Beispiele?
Hatte auch mal gelesen, dass für Strings viele Operatoren überladen wurden, um z.b. String s = "te" + "st"; zu ermöglichen, wurde es evtl. auch mit == gemacht?
ich programmiere eigentlich schon eine ganze weile, deshalb weiß ich auch, dass man den 'Inhalt' von Objekten stets mit equals prüft. Nun musste ich heute einen alten Code warten, in dem alle Strings mit == verglichen wurden...dabei musste ich aber feststellen, dass es funktioniert.
Bsp:
Java:
String s1 = "test";
String s2 = "test";
System.out.println(s1 == s2); // true
System.out.println(s1 == "test"); // true
System.out.println("test" == "test"); // true
Google hat mir bei der Recherche eigentlich auch nur bestätigt, dass man Objekte (einschließlich String) mit equals prüft.
Aber warum funktioneiren die o.g. Beispiele?
Hatte auch mal gelesen, dass für Strings viele Operatoren überladen wurden, um z.b. String s = "te" + "st"; zu ermöglichen, wurde es evtl. auch mit == gemacht?