考虑下面的代码:
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'
所以,我想将 dum
复制到 dumtwo
并更改 dum
,而不影响 dumtwo
。但是上面的代码并没有实现这个功能。当我在 dum
中进行更改时,dumtwo
中也会发生相同的更改。
我猜,当我说 dumtwo = dum
时,Java 只复制了引用。那么,有没有办法创建 dum
的一个新副本并将其赋值给 dumtwo
?