जावा में " " के साथ स्ट्रिंग इनिशियलाइज़ेशन: एक विशेष मामला
जावा का स्ट्रिंग क्लास, एक ऑब्जेक्ट-ओरिएंटेड इकाई होने के बावजूद, इनिशियलाइज़ किया जा सकता है दोहरे उद्धरण चिह्नों का उपयोग करना। इस विशिष्टता ने सवाल उठाया है: ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के दायरे में यह कैसे संभव है?
जावा का अनोखा दृष्टिकोण
इस धारणा के विपरीत कि जावा में सब कुछ होना चाहिए एक वस्तु हो, भाषा के डिजाइनरों ने प्रदर्शन कारणों से आदिम डेटा प्रकारों को बनाए रखने का विकल्प चुना। कॉल स्टैक में रहने वाले प्रिमिटिव, हीप-आवंटित ऑब्जेक्ट की तुलना में तेज़ प्रोसेसिंग और कम मेमोरी उपयोग की पेशकश करते हैं।
इन विचारों को संतुलित करने के लिए, जावा के स्ट्रिंग को एक हाइब्रिड के रूप में तैयार किया गया है। यह एक आदिम की तरह व्यवहार करता है लेकिन इसमें किसी वस्तु की कुछ विशेषताएं भी होती हैं। स्ट्रिंग शाब्दिक पूल. पूल मेमोरी उपयोग को अनुकूलित करने के लिए आमतौर पर उपयोग की जाने वाली स्ट्रिंग्स का एक साझा भंडार संग्रहीत करता है। अनावश्यक दोहराव से बचते हुए, इस पूल से समान स्ट्रिंग शाब्दिक ड्रॉ के बाद के संदर्भ। ऑपरेटर, इसे अन्य वस्तुओं की तरह ढेर पर आवंटित किया जाता है। ये स्ट्रिंग ऑब्जेक्ट विशिष्ट हैं और अपनी स्वयं की मेमोरी स्पेस पर कब्जा कर लेते हैं। स्ट्रिंग s1 = "हैलो"; // शाब्दिक स्ट्रिंग स्ट्रिंग s2 = "हैलो"; // शाब्दिक स्ट्रिंग स्ट्रिंग s3 = s1; // वही संदर्भ स्ट्रिंग s4 = नई स्ट्रिंग ("हैलो"); // स्ट्रिंग ऑब्जेक्ट स्ट्रिंग s5 = नई स्ट्रिंग ("हैलो"); // स्ट्रिंग ऑब्जेक्ट
जैसा कि चित्र में दिखाया गया है, s1, s2, और s3 सभी पूल में एक ही स्ट्रिंग अक्षर को इंगित करते हैं, जबकि s4 और s5 अलग-अलग स्ट्रिंग ऑब्जेक्ट हैं।
निहितार्थ और सावधानियांइस अद्वितीय व्यवहार का स्ट्रिंग हेरफेर के लिए महत्वपूर्ण प्रभाव है। चूँकि अक्षर अपरिवर्तनीय और साझा होते हैं, किसी एक को संशोधित करने से इसके सभी संदर्भ प्रभावित होते हैं। हालाँकि, स्ट्रिंग ऑब्जेक्ट परिवर्तनशील हैं, जो दूसरों को प्रभावित किए बिना विशिष्ट उदाहरणों में संशोधन की अनुमति देते हैं।जावा प्रोग्राम में कुशल और सही स्ट्रिंग हैंडलिंग के लिए इन भेदों पर विचार करना महत्वपूर्ण है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3