java - 为java中的对象分配相同的值

标签 java object clone

假设有两个类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/

相关文章:

php - 从对象数组创建表格

c++ - 如果基类不应该是抽象的,处理复制多态对象的虚拟方法的最佳方法是什么?

Javafx - 打印 DPI 大于 72 的节点

javascript - 将 javascript 参数从对象构造函数传递到对象的方法?

JavaMail 和 IP4 与 IP6

javascript - 无法通过解析获取 query.containedIn 查询中的 objectId?

git - 使用 hggit 克隆 github repo - abort : repository not found

github - 在 GitHub 安装带有 'go get' 的 Go 包是否算作克隆?

java - 我应该返回什么而不是 null?

java - Java 中的 FPS 低