这是任何
enum班级的一线客:
public static String[] getNames(Class<? extends Enum<?>> e) { return Arrays.stream(e.getEnumConstants()).map(Enum::name).toArray(String[]::new);}
Java 8之前的版本仍然是单一的,尽管不太优雅:
public static String[] getNames(Class<? extends Enum<?>> e) { return Arrays.toString(e.getEnumConstants()).replaceAll("^.|.$", "").split(", ");}
您会这样称呼:
String[] names = getNames(State.class); // any other enum class will work
如果您只想为硬编码的枚举类提供一些简单的方法:
public static String[] names() { return Arrays.toString(State.values()).replaceAll("^.|.$", "").split(", ");}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)