新对象引用了旧对象

时间:2018-10-05 06:25:10

标签: java reference

我有一个像这样的简单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?有解决方案吗?

预先感谢

0 个答案:

没有答案