Рассмотрим этот фрагмент кода:
class MyClass{
private List myList;
//...
public List getList(){
return myList;
}
}
Поскольку Java передает ссылки на объекты по значению, я понимаю, что любой объект, вызывающий getList()
, получит ссылку на myList
, что позволит ему изменить myList
несмотря на то, что это private
.Это правильно?
И, если это правильно, я должен использовать
return new LinkedList(myList);
, чтобы создать копию и передать ссылку на копию, а не оригинал, чтобыдля предотвращения несанкционированного доступа к списку, указанному myList
?