2011-07-02 22 views
6

क्या अंतर है जब हम मुख्य विधि और स्ट्रिंग में स्ट्रिंग [] ए लिखते हैं ... ए?स्ट्रिंग [] ए और स्ट्रिंग के बीच अंतर ...

public static void main(String[]a) 

और

public static void main(String...a) 
+0

[जावा वैरग्स विधि परम सूची बनाम सरणी] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/5405673/java-varags-method-param-list-vs-array) –

उत्तर

8

पहले एक एक पैरामीटर है, जो तार की एक सरणी है की उम्मीद है।

दूसरा दूसरा शून्य या अधिक स्ट्रिंग पैरामीटर स्वीकार करता है। यह स्ट्रिंग्स की एक सरणी भी स्वीकार करता है।

+0

अरे उत्तर के लिए धन्यवाद ... – Surbhi

+3

दूसरा वास्तव में एक स्ट्रिंग-सरणी पैरामीटर स्वीकार करता है। – Stim

3

दूसरे को varargs कहा जाता है और जावा 5 में पेश किया गया था। यह आपको विधि में शून्य या अधिक पैरामीटर में पास करने की आवश्यकता होने पर स्पष्ट रूप से एक सरणी बनाने से मुक्त करता है।

8
public static void main(String[] a) 

इसे किसी को स्ट्रिंग [], या शून्य के एक तर्क के साथ बुलाया जाना चाहिए।

public static void main(String...a) 

यह एक प्रकार String [], या स्ट्रिंग युक्तियों के किसी भी संख्या, मुख्य की तरह ("एक", "ख", "ग") के साथ की एक एकल तर्क के साथ कहा जा सकता है। हालांकि, यदि आप शून्य पास करते हैं तो संकलक शिकायत करेगा, क्योंकि यह नहीं बता सकता कि क्या आप मान शून्य के स्ट्रिंग [] का मतलब है, या 1 शून्य स्ट्रिंग की सरणी है।

main() के अंदर, किसी भी मामले में, परिवर्तनीय aString[] है।

चूंकि यह main है, तो हो सकता है कि आप इस बारे में नहीं सोचें कि इसे कैसे कहा जाएगा ... आमतौर पर यह पहली बात है। लेकिन मैंने अपने सभी प्रमुखों के लिए दूसरे फॉर्म का उपयोग करने के लिए स्विच किया है; परीक्षण के लिए तर्क पास करना आसान है।

+0

हे स्पष्टीकरण के लिए धन्यवाद। – Surbhi

संबंधित मुद्दे