Getting all names in an enum as a String[]

前端 未结 21 1381
执笔经年
执笔经年 2020-12-01 03:50

What\'s the easiest and/or shortest way possible to get the names of enum elements as an array of Strings?

What I mean by this is that if, for example,

21条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-01 04:31

    Something like this would do:

    public static String[] names() {
      String[] names = new String[values().length];
      int index = 0;
    
      for (State state : values()) {
        names[index++] = state.name();
      }
    
      return names;
    }
    

    The documentation recommends using toString() instead of name() in most cases, but you have explicitly asked for the name here.

提交回复
热议问题