Pertimbangkan kode di bawah ini:
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'
Jadi, saya ingin menyalin dum
ke dumtwo
dan perubahan dum
tanpa mempengaruhi dumtwo
. Tetapi kode di atas tidak melakukan itu. Ketika saya mengubah sesuatu dum
, perubahan yang sama juga terjadi dumtwo
.
Saya kira, ketika saya katakan dumtwo = dum
, Java menyalin referensi saja . Jadi, apakah ada cara untuk membuat salinan baru dum
dan menugaskannya dumtwo
?