मैं जावा 1.6 पर अपने कॉलेज पाठ्यक्रम में एक एलएएलजी कंपाइलर विकसित कर रहा हूं। तो मैंने एक प्रकार की कक्षा और व्याकरण वर्ग किया।Enum का Enum NULL
EnumTypes
public enum EnumTypes {
A("OLA"),
B("MUNDO"),
C("HELLO"),
D("WORLD"),
/**
* The order below is reversed on purpose.
* Revert it and will you get a NULL list of types furder.
*/
I(EnumGrammar.THREE),
H(EnumGrammar.TWO),
F(EnumGrammar.ONE),
E(EnumGrammar.ZERO);
private String strValue;
private EnumGrammar enumGrammarValue;
private EnumTypes(String strValue) {
this.strValue = strValue;
}
private EnumTypes(EnumGrammar enumGrammarValue) {
this.enumGrammarValue = enumGrammarValue;
}
public String getStrValue() {
return strValue;
}
public EnumGrammar getEnumTiposValue() {
return enumGrammarValue;
}
}
EnumGrammar
public enum EnumGrammar {
ZERO(EnumTypes.A,EnumTypes.B,EnumTypes.F,EnumTypes.D),
ONE(EnumTypes.C),
TWO(EnumTypes.B,EnumTypes.H),
THREE(EnumTypes.D,EnumTypes.A,EnumTypes.C);
private EnumTypes[] values;
private EnumGrammar(EnumTypes ... values) {
this.values = values;
}
public EnumTypes[] getValues() {
return values;
}
}
जब मैं फोन EnumTypes.E.getEnumTiposValue().getValues()
जहां EnumTypes.F
मूल्य होने की अपेक्षा की जाती है शून्य है।
मुख्य
public class Main {
public static void main(String[] args) {
//prints [A, B, null, D]
System.out.println(Arrays.toString(EnumTypes.E.getEnumTiposValue().getValues()));
}
}
एक समाधान या ऐसा ही कुछ कर रहे हैं?
धन्यवाद!
+1 और प्रजनन यहाँ है: http://ideone.com/O9bZx3 –
से संबंधित एक सर्कुलर निर्भरता पहेली की तरह लग रहा एक दूसरे के संदर्भ में दो enum वर्ग 'स्थिरांक की स्थिर init। –
यह कभी-कभी सर्कुलर निर्भरता कणिका के बावजूद हो सकता है यदि आपका आलसी कुछ अजीब वर्ग लोडर लोड कर रहा हो। –