是否有更好的方法根据枚举的元素创建数组:

    public static enum LOGICAL {
        AND ("&", "AND"),
        OR ("||", "OR");

        public final String symbol;
        public final String label;

        LOGICAL(String symbol, String label) {
            this.symbol=symbol;
            this.label=label;
        }
    }

    public static final String[] LOGICAL_NAMES = new String[LOGICAL.values().length];
    static{
        for(int i=0; i<LOGICAL.values().length; i++)
            LOGICAL_NAMES[i]=LOGICAL.values()[i].symbol;
    }

    public static final String[] LOGICAL_LABELS = new String[LOGICAL.values().length];
    static{
        for(int i=0; i<LOGICAL.values().length; i++)
            LOGICAL_LABELS[i]=LOGICAL.values()[i].label;
    }

最佳答案

不。这似乎是正确的方法。即使有实用程序,也要依靠反射(reflection)

如果您使用它,则通常将其缓存在枚举中

关于Java:获取ENUM元素数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6160396/

10-08 22:45