Bestes Verfahren zum Zurückgeben von Objektreferenzen
Betrachten Sie diesen Codeausschnitt:
class MyClass{
private List myList;
//...
public List getList(){
return myList;
}
}
Da Java Objektreferenzen als Wert übergibt, ist meines Erachtens jedes Objekt, das @ aufrufgetList()
erhält einen Verweis aufmyList
, kann es ändernmyList
obwohl es @ iprivate
. Ist das korrekt
Und wenn es richtig ist, sollte ich @ verwend
return new LinkedList(myList);
zum Erstellen einer Kopie und Zurückgeben eines Verweises auf die Kopie anstelle des Originals, um einen unbefugten Zugriff auf die Liste zu verhindern, auf die durch @ verwiesen wimyList
?