2015-06-25 3 views
5

मैं थोड़ा डंबफॉल्ड हूं:जावा सिंटेक्स में यादृच्छिक Arrays की अनुमति है?

मैं अपने आवेदन के लिए थोड़ा सा कोड लिख रहा था, और मैंने एक टाइपो बनाया। मैंने पी के बजाय स्क्वायर ब्रैकेट जोड़े। स्मार्ट ग्रहण ने मेरे लिए अन्य ब्रैकेट जोड़ा। मेरे आश्चर्य के लिए, किसी भी वाक्यविन्यास त्रुटियों के बारे में कोई चेतावनी पॉप अप नहीं हुई।

System.setProperty("apple.laf.useScreenMenuBar", "true");[] 
// No Warnings or Errors?!?!? 
this.initalize(); 

मैं उन्हें रचनाकारों और विधियों में कहीं भी जोड़ सकता हूं, लेकिन इसके बाहर कहीं भी नहीं।

this.initalize();[][][] 
// this.parent.setJMenuBar(this); 
this.setVisible(true); 

मैं कई सरणियों हो सकता है ...

this.initalize();[[]] // Syntax Error, delete this token 
//this.parent.setJMenuBar(this); 
this.setVisible(true); 

लेकिन कुछ भी नहीं नेस्ट: मैं प्रयोग जारी रखा।

मैंने थोड़ा और प्रयास किया ... मुझे कुछ स्थानों में त्रुटियां मिलती हैं।

JMenuItem help_about = new JMenuItem("About the Developers..."); 
[] // Error! 
help_help.setToolTipText("Access the help center"); 

अर्द्ध कोलन कर इन त्रुटि प्रवण:

[]; // Error! 

ऐसा लगता है जैसे मैं इन कोष्ठक कहीं भी रूप में लंबे समय एक आरक्षित कीवर्ड इस प्रकार है कि वहाँ के रूप में रख सकते हैं ...

[] 
return view; // No Errors here... 

कुछ भी नहीं बदलता क्योंकि मैं कोड को सहेजता हूं, ग्रहण या कुछ भी पुनरारंभ करता हूं। अपने सिस्टम के बारे में एक छोटी सी जानकारी:

  • ग्रहण लूना 4.4.2
  • अनुपालन स्तर 1.6
  • जावा 7 (मुझे लगता है कि) नहीं! जावा संस्करण 1.6.0_65

तो, यहाँ मेरे सवाल है ...

  • इस ग्रहण के साथ एक बग है?
  • क्या यह जावा सिंटैक्स के साथ कुछ अनजान है?
  • या, यह है ...

यह नहीं एक बग ... यह एक सुविधा है है !!!

+1

के लिए बहुत अधिक समय लग रहा है देखा हो सकता है कि आपका ग्रहण ताज़ा न हो? मैंने आपकी "गैर-त्रुटियों" को डुप्लिकेट करने का प्रयास किया लेकिन मुझे सिंटैक्स हाइलाइटिंग और त्रुटियां मिलीं।कभी-कभी, ग्रहण केवल तुरंत हाइलाइट करने में त्रुटि नहीं दिखाता है क्योंकि उसने किसी कारण से अपना कोड पार्स नहीं किया है। तो, मैं कहूंगा, यह ग्रहण बहुत लंबा है, या ठंड लग रहा है। यह वास्तव में एक बग नहीं है, लेकिन एक आम घटना है। शायद ग्रहण बंद करने और फिर से खोलने का प्रयास करें। –

+0

निश्चित रूप से। मैं अभी यह करूँगा ... – Zizouz212

+0

क्या आपने 'javac' और कमांड प्रॉम्प्ट का उपयोग करके ग्रहण के बाहर संकलन करने का प्रयास किया है? लेकिन हाँ, यह अच्छा होगा अगर जय गोस्लिंग ने जावा को छिपी हुई विशेषताओं के साथ बनाया, जैसे मूल सुपर मारियो ब्रदर्स निन्टेन्दो गेम में कमजोर दुनिया की तरह। –

उत्तर

0

यह न तो ग्रहण की एक बग है और न ही यह जावा द्वारा प्रदान की गई एक विशेषता है।
मैंने एक्लिप्स लुना 4.4.0 और जावा 7 के साथ एक ही कोड चलाया और यह मुझे त्रुटि देता है।
जैसा कि सॉटिरियोस द्वारा टिप्पणी की गई है, यह वैध वाक्यविन्यास नहीं है।
दूसरी तरफ यदि आपने ; या {} लिखा है उसी तरह से आप [] का उपयोग कर रहे हैं, तो वे आपको त्रुटि नहीं देंगे। लेकिन ऐसा इसलिए है क्योंकि जावा कंपाइलर इसे समझता है और वे मान्य हैं।

तो तुम त्रुटि प्राप्त नहीं हो रहा हो सकता है की तरह ग्रहण किया जा सकता है कुछ अन्य कारणों की वजह हो सकता है अपने कोड संकलित नहीं किया है जब आप इसे मुक्त त्रुटि या हो सकता है यह किसी कारण आदि

+0

द्वारा संस्करण की जांच कर सकते हैं ब्रैकेट के बाद अर्ध-कोलन जोड़ना त्रुटि को तुरंत देता है, और ब्रेसिज़ कोड कोड को अस्वीकार नहीं करते हैं? अर्ध-कॉलन फिनिश स्टेटमेंट, जो खाली हो सकता है। ऐसा नहीं लगता है कि यह दिखता है ... – Zizouz212

+0

नहीं, अर्ध-कॉलन का उपयोग करने से त्रुटि नहीं मिलेगी (जब तक कि यह कुछ अन्य कथनों का सिंटैक्स नहीं बदलती) और हां, हमें इस तरह {'}' का उपयोग नहीं करना चाहिए, लेकिन बिंदु यह है कि वे त्रुटि न दें – afzalex

+0

लेकिन तुलना मान्य नहीं है। यह पहले से ही जाना जाता है। वर्ग ब्रैकेट का निंदा क्या करता है? ये क्यों हो रहा है? – Zizouz212

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