我目前使用这样定义的枚举:
public enum Language{
English("english", "eng", "en", "en_GB", "en_US"),
German("german", "de", "ge"),
Croatian("croatian", "hr", "cro"),
Russian("russian");
private final List<String> values;
Language(String ...values) {
this.values = Arrays.asList(values);
}
public List<String> getValues() {
return values;
}
public static Language find(String name) {
for (Language lang : Language.values()) {
if (lang.getValues().contains(name)) {
return lang;
}
}
return null;
}
}
问题是,我将不得不使用相同的方法和构造函数来使用多个枚举。在我的情况下,唯一改变的是枚举本身的值。
有没有办法让我创建一个我可以重用的枚举的超类?
这样我就可以做类似的事情:
public Language extends(specializedEnum){
English("english", "eng", "en", "en_GB", "en_US"),
German("german", "de", "ge"),
Croatian("croatian", "hr", "cro"),
Russian("russian");
}
提前谢谢你!