考虑下面的代码:
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
,在不影响dumtwo
的情况下改变dum
.但上面的代码并没有这样做.当我在dum
年改变一些东西时,同样的变化也在dumtwo
年发生.
我猜,当我说dumtwo = dum
的时候,Java会复制reference only.那么,有没有办法创建dum
的新副本并将其分配给dumtwo
呢?