gpt4 book ai didi

java - 使引用不可变?

转载 作者:行者123 更新时间:2023-12-01 18:47:53 26 4
gpt4 key购买 nike

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 的小技巧,通过保留数组值而不必重新将所有值重新分配给另一个数组?

最佳答案

鱼与熊掌不可兼得。您必须制作对象的深拷贝,然后修改原始副本。然后,深层复制将包含原始值。

关于java - 使引用不可变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16921140/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com