2011-01-05 5 views
11

में संदर्भ द्वारा आदिम डेटा पास करना जावा में तर्क के रूप में एक विधि के लिए आदिम डेटा को पास करना संभव है, उन्हें समान वर्ग वस्तुओं में लपेटे बिना ???जावा

+1

बस थोड़ी पैडेंटिक होने के लिए, क्योंकि मैं पूरी तरह से समझता हूं कि आप क्या पूछ रहे हैं, जावा में संदर्भ द्वारा कुछ भी पारित नहीं किया गया है, सब कुछ मूल्य से गुजरता है। –

+0

इसके अलावा, यह http://stackoverflow.com/questions/2113656/how-to-overcome-the-fact-that-primitives-are-passed-by-value –

उत्तर

11

जावा में, संदर्भ द्वारा प्राइमेटिव पास करना संभव नहीं है। इसे अनुकरण करने के लिए, आपको एक म्यूटेबल रैपर क्लास के उदाहरण के संदर्भ को पास करना होगा।

म्यूटेबल रैपर कक्षाओं के बारे में अधिक जानकारी के लिए How do I pass a primitive data type by reference? देखें।

2

नहीं, जावा में यह संभव नहीं है।

18

ऐसा मत करो, लेकिन जब से आपने पूछा .... आप उन्हें 1 तत्व लम्बे हुए सरणी में डाल सकते हैं, और सरणी पास कर सकते हैं।

+3

+1, चालाक ..... –

+2

+ 0, गंदा ... ;-) –

+1

@ माइक टच ;-) –

1

संक्षिप्त उत्तर: कोई रास्ता नहीं !!

लंबा उत्तर: प्राथमिक डेटा संदर्भ द्वारा संदर्भित नहीं किया जाता है, क्यों? क्योंकि वे वस्तु नहीं हैं।

"आदिम मूल्य अन्य आदिम मूल्यों के साथ राज्य साझा नहीं करते हैं।" Oracle Official Tutorial

फिर भी अगर आप अभी भी यह करने के लिए इच्छुक रहे हैं आप Wrapper classes में एक बार देख ले करना चाहते हो सकता है, प्रत्येक आदिम रूप में अपनी सजात है एक आवरण

तुमसे एक सवाल जब आदिम उपयोग करने के लिए या आवरण के लिए एक बार देख ले है "When to use primitive and when reference types in Java"