Рассмотрим следующий код:
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
?