Wenn wir erklären eine Stringliteral wieObjekterstellung zum Zeitpunkt der Deklaration eines String in Java
String str = "abc";
nur ein Objekt in String-Pool erstellt wird. Aber wenn wir es wie
String str = new String("abc");
2 Objekte erzeugt man im Heap-Speicher andere im String-Pool erstellen. Was ist der Zweck der Erstellung eines Eintrags im String-Pool, wenn Sie bereits ein Objekt im Heap-Speicher platziert haben?
ein 'String' Objekt explizit von einem Stringliteral anlegen, wie Sie im zweiten Beispiel tun, ist nie sinnvoll. Sie müssen diese Art von Code niemals in einer echten Java-Anwendung schreiben. – Jesper
Ähm, was denkst du wird zuerst erstellt? Der Konstruktorparameter oder das Objekt, das durch Aufruf des Konstruktors erstellt wurde? – fabian