Hãy xem xét mã dưới đây:
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'
Vì vậy, tôi muốn sao chép dumđến dumtwovà thay đổi dummà không ảnh hưởng dumtwo. Nhưng đoạn mã trên không làm được điều đó. Khi tôi thay đổi một cái gì đó dum, sự thay đổi tương tự cũng xảy ra dumtwo.
Tôi đoán, khi tôi nói dumtwo = dum, Java chỉ sao chép tham chiếu . Vì vậy, có cách nào để tạo một bản sao mới dumvà gán nó cho dumtwo?


