พิจารณารหัสด้านล่าง:
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?


