Prática recomendada para retornar referências de objeto
Considere este trecho de código:
class MyClass{
private List myList;
//...
public List getList(){
return myList;
}
}
Como Java passa referências a objetos por valor, meu entendimento é que qualquer objeto que chamagetList()
obterá uma referência paramyList
, permitindo modificarmyList
apesar de serprivate
. Isso está correto?
E, se estiver correto, devo usar
return new LinkedList(myList);
para criar uma cópia e devolver uma referência à cópia, e não ao original, para impedir o acesso não autorizado à lista referenciada pormyList
?