Wird die folgende Anweisung das Array größer machen?
liste = new String[5];
Nein. Die Anweisung erzeugt ein völlig neues Arrayobjekt (mit Platz für 5 Slots). Die gesamte Information in dem alten Arrayobjekt ist jetzt Datenausschuss.
In dem Beispiel wird die Referenzvariable liste
auf das neu konstruierte Objekt gesetzt.
Die Information in dem alten Objekt wird nicht automatisch transferiert.
Um die alte Information zu behalten, müsste das Programm
sie in das neue Array kopieren, nachdem es konstruiert wurde.
Das ist nicht allzu schwierig, aber lästig.
In der Abbildung repräsentieren die schrägen Linien
null
, den Wert, den eine Referenz hat,
wenn sie auf kein Objekt verweist.