string - what happens to an object in Java if you do not reference it, like here : myString.concat("that") -


  स्ट्रिंग माइस्ट्रिंग = "यह"; // स्ट्रिंग अपरिवर्तनीय myString.concat ("वह"); // एक नया ऑब्जेक्ट बनाया गया है, लेकिन सिस्टम को कुछ भी नहीं सौंपा गया। Out.println (myString); // बाहर "यह" प्रिंट करता है   

मैं एक संकलन समय त्रुटि पसंद करेंगे - ऐसा क्यों नहीं है? एक ही सवाल एक वापसी प्रकार के साथ किसी भी विधि के लिए लागू किया जा सकता है, जब इसे वापसी प्रकार की आपूर्ति के बिना कहा जाता है।

  सार्वजनिक myObject doStuff (... जो कुछ भी) {// / ; }   

को वापसी प्रकार रखने के लिए एक संदर्भ / चर प्रदान किए बिना कहा जा सकता है:

  MyObject newObject = doStuff (); // कार्य करते हैं (); // वापसी ऑब्जेक्ट निर्दिष्ट किए बिना भी काम करता है    

ऑब्जेक्ट बनाया जाएगा और कचरा के लिए योग्य होगा तुरंत संग्रह (यानी यह संभवतः कचरा एकत्र किया जा सकता है)।

कारण यह एक संकलन समय त्रुटि नहीं है कि विधि को वापस नहीं करने वाली हर विधि के लिए आपको उस रिटर्न वैल्यू का उपयोग करने की आवश्यकता होती है। कुछ तरीकों को उनके दुष्प्रभावों के लिए ही बुलाया जाता है।

एक अच्छा उदाहरण है: यह एक बूलीयन ऑब्जेक्ट देता है, लेकिन अधिक बार नहीं, कॉलिंग कोड उस नतीजे में दिलचस्पी नहीं लेता है और बस इसे अनदेखा कर देता है।

इसी तरह स्ट्रिंगबिइल्डर उदाहरण देता है ताकि आप कॉल को चेन कर सकें। लेकिन यह भी कि वापसी मूल्य को नजरअंदाज करने के लिए पूरी तरह से वैध है और बस myStringBuilder.append ("foo") का उपयोग करें;

Comments

Popular posts from this blog

mysql - BLOB/TEXT column 'value' used in key specification without a key length -

c# - Using Vici cool Storage with monodroid -

python - referencing a variable in another function? -