2013-02-06 49 views
8

मुझे आश्चर्य है कि जावा में ... का पैरामीटर कैसे काम करता है। उदाहरण के लिए:पैरामीटर में 3 बिंदु क्या हैं?/एक परिवर्तनीय arity (...) पैरामीटर क्या है?

public void method1(boolean... arguments) 
{ 
    //...  
} 

क्या यह array जैसा है? मुझे पैरामीटर का उपयोग कैसे करना चाहिए?

+1

यह एक सरणी है, और आप इसे चर नाम 'तर्क' के साथ एक सरणी की तरह एक्सेस कर सकते हैं। – jlordo

+0

@jlordo मुझे लगता है कि यह रन टाइम पर सरणी में परिवर्तित हो जाता है। :) – PermGenError

+0

अपने उत्तर की कोशिश करने के बजाय इस उत्तर को टाइप करने में काफी समय लगा ... – NominSim

उत्तर

3

इसे Variable arguments या var-args में जावा 1.5 में पेश किया गया था। लाभ यह है कि आप विधि को कॉल करते समय किसी भी तर्क को पारित कर सकते हैं।

उदाहरण के लिए:

public void method1(boolean... arguments) throws Exception { 
    for(boolean b: arguments){ // iterate over the var-args to get the arguments. 
     System.out.println(b); 
    } 
} 

उपरोक्त विधि के नीचे सभी विधि कॉल स्वीकार कर सकते हैं।

method1(true); 
method1(true, false); 
method1(true, false, false); 
+1

अपना उत्तर सुधारने के लिए आप पास मूल्यों को कैसे प्राप्त करें के बारे में जानकारी जोड़ सकते हैं :) – Pshemo

+0

@Pshemo ने अभी इसे जोड़ा। :) – PermGenError

0

अन्य उत्तरों के अनुसार, यह एक "varargs" पैरामीटर है। एक सरणी कौन सा है।

  • आप साथ विधि नहीं मापदंडों कॉल कर सकते हैं: method1();
  • जब आप ऐसा करेंगे, पैरामीटर एक रिक्त सरणी
है

क्या बहुत से लोगों को एहसास नहीं है दो महत्वपूर्ण अंक है

कई लोग मानते हैं कि यदि आप कोई पैरामीटर निर्दिष्ट नहीं करते हैं तो यह शून्य होगा, लेकिन शून्य जांच अनावश्यक है।


आप बल एक अशक्त इस तरह यह फोन करके पारित होने के लिए कर सकते हैं:

method1((boolean[])null); 

लेकिन मैं किसी को ऐसा करता है, तो कहते हैं, उसमें विस्फोट करते हैं।