java - Creating new object from method argument or referencing instead -


  सार्वजनिक setArrayList (सूची & lt; पूर्णांक & gt; सूची) {this.list = list; // या this.list = नया ArrayList & lt; पूर्णांक & gt; (सूची); }  

मैंने देखा है कि अलग-अलग लोग इस कोड को एक दूसरे शब्दों में प्रयोग करते हैं। इन दो कार्यान्वयनों में क्या कोई अंतर है?

हां - दो उदाहरण कार्यात्मक रूप से अलग हैं।

  सार्वजनिक setArrayList (सूची & lt; पूर्णांक & gt; सूची) {this.list = list; }  

यह उसी ऑब्जेक्ट उदाहरण के लिए वर्तमान वर्ग के list सदस्य को निर्दिष्ट करता है जो सूची में दी गई है। सूची से / में तत्वों को हटाने से मूल सूची पर असर पड़ेगा।

  this.list = नया ArrayList & lt; Integer & gt; (सूची);  

यह सूची का एक नया उदाहरण बनाता है, मूल एक से तत्वों की प्रतिलिपि बना रहा है। इस नई सूची से तत्वों को जोड़ना और निकालना मूल सूची को प्रभावित नहीं करेगा।


Comments

Popular posts from this blog

java - org.apache.http.ProtocolException: Target host is not specified -

java - Gradle dependencies: compile project by relative path -

ruby on rails - Object doesn't support #inspect when used with .include -