क्या यह परिवर्तन ArrayList में प्रतिबिंबित होगा?
हां, चूंकि आपने सूची में ऑब्जेक्ट का संदर्भ जोड़ा है । आपके द्वारा जोड़ा गया संदर्भ अभी भी उसी ऑब्जेक्ट को इंगित करेगा, (जिसे आपने संशोधित किया है)।
या जब मैं ऑब्जेक्ट को ArrayList में जोड़ता हूं, तो Java एक प्रति बनाता है और उसे ArrayList में जोड़ता है?
नहीं, यह ऑब्जेक्ट को कॉपी नहीं करेगा। (यह ऑब्जेक्ट के संदर्भ को कॉपी करेगा।)
क्या होगा अगर मैं इस ऑब्जेक्ट के संदर्भ को शून्य में बदल दूं? इसका मतलब यह है कि ArrayList में वस्तु अब भी शून्य है?
नहीं, क्योंकि सूची में जोड़े जाने पर मूल संदर्भ की सामग्री की प्रतिलिपि बनाई गई थी । (ध्यान रखें कि यह वह संदर्भ है जिसे कॉपी किया गया है, वस्तु नहीं।)
प्रदर्शन:
StringBuffer sb = new StringBuffer("foo");
List<StringBuffer> list = new ArrayList<StringBuffer>();
list.add(sb);
System.out.println(list);
sb.append("bar");
System.out.println(list);
sb = null;
System.out.println(list);