您将如何使用Java深度复制对象?
对象的深层副本将复制它在我们要复制的对象中遇到的每个对象。副本和原始对象不会共享任何内容,因此它将是原始副本。
最简单的方法是将对象转换为JSON字符串,然后将其转换回JS对象。但是,这种方式不允许方法复制。
示例
let obj = { foo: 1, bar: { baz: 'test' } } let newObj = JSON.parse(JSON.stringify(obj)); obj.bar.baz = 20; console.log(obj); console.log(newObj);
输出结果
{ foo: 1, bar: { baz: 20 } } { foo: 1, bar: { baz: 'test' } }
这里的newObj不会随着对原始obj的更新而更改,因此深层复制成功。