नीचे दिए गए कोड पर विचार करें:
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
, तो जावा केवल संदर्भ को कॉपी करता है । तो, क्या इसकी कोई नई प्रतिलिपि बनाने dum
और इसे असाइन करने का कोई तरीका है dumtwo
?