假设有两个类abc的对象
abc obj = new abc(10,20);
//设置两个变量的值。说 x 和 y
abc obj1 = obj;
//指向相同的内存所以相同的值
但如果有一种方法可以将一个对象的值分配给另一个对象,那么两者都有差异。内存。简单地说,我希望复制值而不是地址。任何运算符(operator)或其他东西都可以做到这一点?
最佳答案
可以使用clone()
方法(假设子类实现了java.lang.Cloneable
接口(interface))
abc obj1 = obj.clone()
请记住 clone()
的默认行为是返回对象的浅拷贝。这意味着原始对象的所有字段的值都被复制到新对象的字段中(它不会遍历其他对象的整个图)。
我想“深度复制”您可以对其进行序列化和反序列化的对象。
深拷贝对每个对象的字段进行不同的复制,递归遍历被复制对象引用的其他对象的整个图表
更多信息:
http://javatechniques.com/blog/faster-deep-copies-of-java-objects/
关于java - 为java中的对象分配相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11559187/