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