2010-11-17 18 views
13

Enum मानों की जावा सरणी

_machines = {Machine.a, Machine.b}; 

त्रुटि संदेश: की

अवैध शुरू

मशीन के रूप में public enum Machine{...}

_machinesprivate Machine[] _machines;

के रूप में परिभाषित किया गया है पता नहीं है क्यों यह काम नहीं करता परिभाषित किया गया है अभिव्यक्ति

धन्यवाद दोस्तों!

+2

समान: http://stackoverflow.com/questions/3504849/java-weird-array-behavior/3504872#3504872 – missingfaktor

+1

आप एक [EnumSet] में देखना चाहते हो सकता है (http://docs.oracle .com/JavaSE/6/docs/api/जावा/util/EnumSet.html)। – Eva

उत्तर

36

आप ऐरे घोषणा के एक छोटे से हिस्से को याद कर रहे हैं।

_machines = new Machine[]{Machine.a, Machine.b}; 
+0

कार्य करना। आपके त्वरित उत्तर के लिए बहुत बहुत धन्यवाद। – lonelyloner

+0

@ डेविड, मदद करने में खुशी हुई! – jjnguy

+3

'Machine.a, Machine.b' को 'ए, बी' में सरलीकृत किया जा सकता है। उपसर्ग अनावश्यक है, क्योंकि मशीन enums की एक सरणी में केवल मशीन enums हो सकता है। – ceving

2

इसे पहले आकार में भी घोषित किया जा सकता है यदि आप इसे आकार देते हैं।

_machines = new Machine[size]; 
+0

ध्यान दें कि यह ओपी के मामले से अलग है। यह शून्य मानों के साथ एक सरणी शुरू करता है, जबकि ओपी इसे पूर्वनिर्धारित गैर-शून्य मानों के साथ प्रारंभ करने के बारे में पूछ रहा है। –

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