Mejores prácticas para devolver referencias de objetos
Considere este fragmento de código:
class MyClass{
private List myList;
//...
public List getList(){
return myList;
}
}
A medida que Java pasa referencias de objetos por valor, entiendo que cualquier objeto que llamegetList()
obtendrá una referencia amyList
, permitiéndole modificarmyList
a pesar de serprivate
. ¿Es eso correcto?
Y, si es correcto, ¿debería estar usando
return new LinkedList(myList);
para crear una copia y devolver una referencia a la copia, en lugar del original, para evitar el acceso no autorizado a la lista a la que hace referenciamyList
?