जावा में लैम्ब्डा एक्सप्रेशन के साथ काम करते समय, भ्रम का एक सामान्य बिंदु यह है कि स्थानीय वेरिएबल को अंतिम रूप देने की आवश्यकता क्यों होती है जबकि इंस्टेंस वेरिएबल ऐसा न करें। इस लेख का उद्देश्य इस भेद के पीछे अंतर्निहित तर्क को स्पष्ट करना है। संलग्न दायरे के साथ. ऐसा इसलिए है क्योंकि लैम्ब्डा स्थानीय वातावरण का एक स्नैपशॉट बनाते हैं जब उन्हें लागू किया जाता है, जिसमें स्थानीय चर की प्रतियां भी शामिल होती हैं। लैम्ब्डा के बाहर इन वेरिएबल्स में कोई भी बाद का परिवर्तन लैम्ब्डा के भीतर प्रतिबिंबित नहीं होगा। अंतिमता को लागू करके, जेवीएम यह सुनिश्चित करता है कि स्थानीय चर के मान लैम्ब्डा के जीवनकाल के भीतर स्थिर रहें। , अंतिम रूप देने की आवश्यकता नहीं है। ऐसा इसलिए है क्योंकि वे लैम्ब्डा के स्थानीय वातावरण में संग्रहीत नहीं हैं बल्कि संलग्न वर्ग उदाहरण से संबंधित हैं। इंस्टेंस वेरिएबल्स में किए गए परिवर्तन लैम्ब्डा और एन्क्लोजिंग क्लास दोनों के भीतर दिखाई देते हैं। इसलिए, लैम्ब्डा के विभिन्न आह्वानों में उदाहरण चर की अखंडता को बनाए रखने के लिए अंतिम रूप देना आवश्यक नहीं है।
बुनियादी अंतर: प्रतिलिपि बनाम संदर्भ
के बीच महत्वपूर्ण अंतर लैम्ब्डा निर्माण के दौरान स्थानीय और उदाहरण चर उनके व्यवहार में निहित होते हैं। स्थानीय चर को लैम्ब्डा के वातावरण में कॉपी किया जाता है, जबकि उदाहरण चर को संदर्भित किया जाता है। इसका मतलब यह है कि स्थानीय चर में परिवर्तन केवल लैम्ब्डा के भीतर दिखाई देते हैं, लेकिन उदाहरण चर में परिवर्तन अंतर्निहित वर्ग उदाहरण को प्रभावित करते हैं।
निष्कर्ष
के बीच चर दायरे के अंतर को समझना जावा में लैम्ब्डा एक्सप्रेशन का प्रभावी ढंग से उपयोग करने के लिए स्थानीय और इंस्टेंस वेरिएबल आवश्यक हैं। स्थानीय चर के लिए अंतिम आवश्यकता का पालन करके और उदाहरण चर के दायरे को पहचानकर, डेवलपर्स संभावित नुकसान से बच सकते हैं और अपने कोड में सुसंगत व्यवहार सुनिश्चित कर सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3