我有一个像这样的简单Java程序
public Class MyObject {
List<anotherObject> anotherObjectList;
int average;
}
和我的主类中的方法
List<MyObject> getIdealList(List<MyObject> myObjectList){
List<MyObject> idealList = new Arraylist<>(myObjectList);
for(int i = 0; i< myObjectList.size() ; i++)
{
myObjectList = makeSomeChangesInEachAnotherObjectList(myObjectList)
if(isMyObjectListIdeal(myObjectList))
{
idealList = new Arraylist<>(myObjectList);
}
}
return idealList;
}
因此,myObjectList会不断更改,直到anotherObjectList具有理想的形式为止。从逻辑上讲这似乎是正确的,但是即使isMyObjectListIdeal()为false,当我更改makeSomeChangesInEachAnotherObjectList中myObjectList的格式时,理想主义者似乎也更改了它的值
为什么理想主义者和myObjectList都指向同一个anotherObjectList?有解决方案吗?
预先感谢