java如何获取在另一个枚举中声明的所有嵌套枚举的集合或数组?
对于测试支持,我有以下枚举。它是关于I18n
public enum PersonaFieldI18n {
NOTHING_TO_DO;
private PersonaFieldI18n(){
}
public enum English {
ID("Id"),
NOMBRE("Name"),
APELLIDO("Last Name"),
FECHA("Date");
private String field;
private English(String field){
this.field = field;
}
public String getField() {
return field;
}
}
public enum Spanish {
ID("Id"),
NOMBRE("Nombre"),
APELLIDO("Apellido"),
FECHA("Fecha");
private String field;
private Spanish(String field){
this.field = field;
}
public String getField() {
return field;
}
}
public enum Portuguese {
ID("Id"),
NOMBRE("Nome"),
APELLIDO("Sobrenome"),
FECHA("Data");
private String field;
private Portuguese(String field){
this.field = field;
}
public String getField() {
return field;
}
}
}
如果执行PersonaFieldI18n.values()
,它只返回NOTHING_TO_DO
使用每个嵌套枚举获取集合或数组的方法(如果存在)是什么
我需要一种方法来调用PersonaFieldI18n
枚举中定义的方法,该方法返回以下元素:
PersonaFieldI18n.English
PersonaFieldI18n.Spanish
PersonaFieldI18n.Portuguese
如您所见,上面显示的每个元素都是PersonaFieldI18n
枚举的嵌套枚举
这样做可能吗?怎样最好的实现是什么
# 1 楼答案
正如@Kevin所说,嵌套枚举实际上是PersonalFieldi18n的内部类,所以可以通过反射获得它们
声明如下: