ऐसा इसलिए है क्योंकि enums विशेष वर्गों के प्रकार हैं। अगर हम Season.WINTER के अंदर क्षेत्रों पर एक नज़र, उदाहरण के लिए:
for (Field field : Test.Season.WINTER.getClass().getFields())
System.out.println(field);
हम आउटपुट के रूप में दिखाई देंगे:
public static final TestEnum$Test$Season TestEnum$Test$Season.WINTER
public static final TestEnum$Test$Season TestEnum$Test$Season.SPRING
public static final TestEnum$Test$Season TestEnum$Test$Season.SUMMER
public static final TestEnum$Test$Season TestEnum$Test$Season.FALL
इसलिए प्रत्येक enum मूल्य वास्तव में भी एक स्थिर निरंतर है enum वर्ग, सीजन, और इसलिए सीजन के स्थिर क्षेत्रों, या अन्य enum मूल्यों (स्वयं सहित) तक पहुंच है।
हालांकि, सीजन.एसपीआरई जैसे सीधे एनम मूल्यों तक पहुंचने के लिए शायद बेहतर है, क्योंकि यह आपके कोड को पढ़ने वाले किसी को भ्रमित करने की सरल और कम संभावना है।
स्रोत
2011-01-20 00:17:33
क्या यह 'विंटर के बराबर है। वसंत'? –
सीजन.WINTER.SPRING सीजन के बराबर है। PARRING –
जैच एल सही है। –