考虑以下代码片段:
class MyClass{
private List myList;
//...
public List getList(){
return myList;
}
}
作为Java将对象引用按值传递的方式,我的理解是任何调用
getList()
的对象都会获得对myList
的引用,使其能够修改myList
,尽管它是private
。这是否正确?如果正确,我应该使用什么?return new LinkedList(myList);
如何创建一个副本并返回对该副本的引用,而不是原始数据的引用,以防止未经授权访问由myList
引用的列表?