3
對於測試支持,我有以下枚舉。這是關於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
enum的嵌套枚舉。
這是可能嗎?怎麼樣?什麼是最好的實施?
你知道這是一個非常糟糕的方式做國際化,對不對? – Kayaman
讓我知道更好的方法。提前致謝。記住它是用於測試目的。 –
「嵌套」枚舉實際上只是靜態內部類。你可以用反射來迭代它們。 – Kevin