से इसे वापस करने के विरुद्ध एक पैरामीटर पास कर रहा है क्योंकि यह शीर्षक से स्पष्ट हो सकता है कि हमें किस दृष्टिकोण को प्राथमिकता देना चाहिए?फ़ंक्शन
इरादा कुछ विधि मानकों को पारित करना और आउटपुट के रूप में कुछ प्राप्त करना है। हम एक और पैरामीटर पास कर सकते हैं और विधि इसे अपडेट कर देगी और विधि को अब कुछ भी वापस नहीं करने की आवश्यकता है, विधि केवल आउटपुट वैरिएबल अपडेट करेगी और यह कॉलर पर दिखाई देगी।
मैं इस उदाहरण के माध्यम से प्रश्न को फ्रेम करने की कोशिश कर रहा हूं।
List<String> result = new ArrayList<String>();
for (int i = 0; i < SOME_NUMBER_N; i++) {
fun(SOME_COLLECTION.get(i), result);
}
// in some other class
public void fun(String s, List<String> result) {
// populates result
}
बनाम
List<String> result = new ArrayList<String>();
for (int i = 0; i < SOME_NUMBER_N; i++) {
List<String> subResult = fun(SOME_COLLECTION.get(i));
// merges subResult into result
mergeLists(result, subResult);
}
// in some other class
public List<String> fun(String s) {
List<String> res = new ArrayList<String>();
// some processing to populate res
return res;
}
मैं समझता हूँ कि एक संदर्भ से गुजरता है और एक और नहीं करता है।
हमें कौन सा (विभिन्न परिस्थितियों में) पसंद करना चाहिए और क्यों?
अद्यतन: इसे केवल परिवर्तनीय वस्तुओं के लिए विचार करें।
मुझे यकीन नहीं है कि आप क्या पूछ रहे हैं। क्या आप पूछ रहे हैं कि आपको कौन सी परिस्थितियों को एक चर के पास प्राप्त करने के लिए विधि के भीतर प्राप्त करना चाहिए, जिसमें getArg() या जिसे भी कॉल किया जा सकता है? – Charles
नहीं, आप इसे गलत समझ रहे हैं या मैं व्यक्त नहीं कर सका। मैं पूछ रहा हूं: क्या हमें एक चर के रूप में किसी फ़ंक्शन को एक चर के रूप में पास करना चाहिए या इसे फ़ंक्शन से वापस करना चाहिए? किन स्थितियों में हमें इनमें से किसी एक का उपयोग करना चाहिए? आशा है, मैं स्पष्ट हूँ! – instanceOfObject