class Some{
  private int id;
  private String name;
  //getters and setters
}
class Check{
  private Some[] someVals;
  //getters and setters
}


假设我已经将值填充到Check类的someVals中

void newMethod(){
      Check checkPrev = getCheckPopulated();
      Some[] someFirst = checkPrev.getSomeVals();
      modifySome(someFirst);
      Some[] some  = ? // at this point need the values of someFirst
   }


我的问题是即使进行了修改(在我指定的地方),也要获取Some []数组的值,也就是分配时首次出现的值。

好吧,我会澄清我的问题。
最终Some [] someFirst = checkPrev.getSomeVals();不工作
是否有一个类似于final的小技巧,可以保留数组的值而不必再次将所有值重新分配给另一个数组?

最佳答案

你不能吃蛋糕也不能吃。您必须制作对象的深层副本,然后修改原始副本。然后,深层副本将包含原始值。

07-24 12:57