相关疑难解决方法(0)

如何在Java中复制对象?

请考虑以下代码:

DummyBean dum = new DummyBean();
dum.setDummy("foo");
System.out.println(dum.getDummy()); // prints 'foo'

DummyBean dumtwo = dum;
System.out.println(dumtwo.getDummy()); // prints 'foo'

dum.setDummy("bar");
System.out.println(dumtwo.getDummy()); // prints 'bar' but it should print 'foo'
Run Code Online (Sandbox Code Playgroud)

所以,我想复制dum到dumtwo并更改dum而不影响dumtwo.但上面的代码并没有这样做.当我改变某些内容时dum,也会发生同样的变化dumtwo.

我想,当我说dumtwo = dum,Java 只复制引用.那么,有没有办法创建一个新的副本dum并分配给它dumtwo?

java clone copy object

763
推荐指数
18
解决办法
109万
查看次数

关于Java可克隆

我正在寻找一些解释Java的教程Cloneable,但没有得到任何好的链接,而且Stack Overflow正变得越来越明显.

我想知道以下内容:

  1. Cloneable意味着我们可以通过实现Cloneable接口来获得克隆或对象的副本.这样做的优点和缺点是什么?
  2. 如果对象是复合对象,递归克隆如何发生?

java cloneable

91
推荐指数
5
解决办法
7万
查看次数

标签 统计

java ×2

clone ×1

cloneable ×1

copy ×1

object ×1