java - क्या मुख्य(स्ट्रिंग आर्ग्स[]) और मुख्य(स्ट्रिंग[] आर्ग्स) में अंतर है?




coding-style argument-passing (6)

क्या इसमें कोई अंतर है:

public void main(String args[]) { ... } 

तथा

public void main(String[] args) { ... }

मैं ऐसा नहीं मानता, लेकिन मैं सोच रहा हूँ।


इनमें अंतर यह है कि जब हम मुख्य पद्धति को एक वर्ग से दूसरे वर्ग में स्थैतिक वाक्यविन्यास का उपयोग करके मैन्युअल रूप से कॉल करने का प्रयास करते हैं, तो हम "स्ट्रिंग [] s" का उपयोग करते हैं। उस बिंदु पर हमें मुख्य विधि में तर्क के रूप में स्ट्रिंग प्रकार की एक सरणी को पास करना होगा। जब हम "स्ट्रिंग ... एस" का उपयोग कर रहे होते हैं, तब तर्क के रूप में किसी भी स्ट्रिंग सरणी को पारित करने की आवश्यकता नहीं होती है। यह चलेगा और इससे कोई फर्क नहीं पड़ता कि आप एरे को एक तर्क के रूप में पास करते हैं या नहीं (यदि आप स्पष्ट रूप से इसे पास नहीं करते हैं, तो यह स्वयं पास हो जाता है) ... इसलिए साबित हुआ


एक अंतर है: उदाहरण के लिए यदि आप int [] गिरफ्तार लिखते हैं; - यहाँ गिरफ्तारी पूर्णांक सरणी का संदर्भ है जबकि int गिरफ्तारी के मामले में []; - गिरफ्तारी एक आदिम इंट प्रकार सरणी है


नहीं। दोनों में कोई अंतर नहीं है।

इस दस्तावेज़ में Declaring a Variable to Refer to an Array खंड Declaring a Variable to Refer to an Array । उस डॉक से

फ्लोट अराअरेऑफ़ फ़्लाट्स []; // इस फॉर्म को हतोत्साहित किया जाता है

तो बस दूसरी शैली का उपयोग करें।


ये दोनों बिल्कुल एक जैसे हैं। जावा में प्रयुक्त सिंटैक्स को देखने के लिए कृपया जावा लैंग्वेज स्पेसिफिकेशन (JLS) देखें।

स्ट्रिंग [] आर्ग या स्ट्रिंग आर्ग्स [] एक अरेंज (मेमोरी में एक जगह आरक्षित करता है) होगा जिसका कोई आकार और नाम नहीं होता है।

Let us Consider:

String [] x;

putting the [] after the name. Why? because it avoids subtle problems like this:-

String x [] , y; //x[] is an array but y is a String
String [] x y ; //two arrays x[] and y[] both

शब्दार्थ, वे समान हैं। हालाँकि, मैं String[] args घोषणा करते समय बाद के सिंटैक्स ( String[] args ) का उपयोग करने की सलाह String[] args । पूर्व सिंटैक्स मुख्य रूप से सी सिंटैक्स के साथ संगतता के लिए है।

चूंकि String[] , एक पूरे के रूप में, जावा में ऑब्जेक्ट का प्रकार है, यह अधिक सुसंगत है और इसे विभाजित नहीं करने के लिए स्पष्ट है।

एक समान प्रश्न विधि तर्क सूची के बाद [] को संबोधित करता है।


हालाँकि दोनों का उपयोग स्ट्रिंग प्रकार बनाने के लिए किया जाता है लेकिन दूसरा एक अधिक लोकप्रिय है, क्योंकि इसके साथ, आप एक साथ कई स्ट्रिंग सरणियाँ बना सकते हैं ... जैसे String[] a,b; यहां आपने एक साथ दो स्ट्रिंग एरे और बी बनाए हैं।

हालाँकि

String a[],b; स्ट्रिंग सरणी "a" और स्ट्रिंग चर (नहीं सरणी) b बनाएगा

आशा है कि यह स्पष्ट करता है।







argument-passing