2012-05-25 113 views
3

我有一个java-constraint-interface声明一些枚举。如何获得类的静态枚举

public interface MyClass{static enum BOOP{a,b,c,d,e,f}}; 

我该如何从“BOOP”-enum动态获取第6枚枚举的名称?

${org.java.some.MyClass."$enumName"[5]} 

doenst work。

回答

1

我得到了它独自

<%=org.java.some.MyClass.class.getDeclaredClasses().find{it.simpleName=enumName}.values()[5]%> 
1

这应该工作:

public interface MyClass{static enum BOOP{a,b,c,d,e,f}}; 

${org.java.some.MyClass.BOOP.values()[5]} // prints f 

此外,你不能用指数6元,由于数组是从0开始的,你没有在你的枚举7元。

+0

等待,我不能代码BOOP照片直接,BOOP是值的字符串变量 –

+0

对不起 - 我没有正确地理解你的问题。 – aiolos