<分区>
我对 Java 中的对象引用有疑问。它总是通过引用函数来发送它的对象,这意味着如果你在发送的函数中修改它们,它们将被修改回来。
一个解决方案是在发送之前复制对象。但是为此,我是否必须在对象类中创建一个复制函数?或者还有其他选择吗?谢谢
<分区>
我对 Java 中的对象引用有疑问。它总是通过引用函数来发送它的对象,这意味着如果你在发送的函数中修改它们,它们将被修改回来。
一个解决方案是在发送之前复制对象。但是为此,我是否必须在对象类中创建一个复制函数?或者还有其他选择吗?谢谢
最佳答案
我通常会为这种情况添加一个复制构造函数,如下所示:
public class MyObject {
//members
public MyObject(MyObject objectToCopy) {
this.member = objectToCopy.member;
//...
}
}
然后你可以只用一个简单的衬垫制作一个新物体。
public void DoWork(MyObject object) {
MyObject copy = new MyObject(object);
//do stuff
}
关于java - Java 中的引用对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16567694/