java如何使用枚举名获取枚举id
public enum EnumCountry implements EnumClass<Integer> {
Ethiopia(1),
Tanzania(2),
private Integer id;
EnumCountry(Integer value) {
this.id = value;
}
public Integer getId() {
return id;
}
@Nullable
public static EnumCountry fromId(Integer id) {
for (EnumCountry at : EnumCountry.values()) {
if (at.getId().equals(id)) {
return at;
}
}
return null;
}
}
我有上面的代码。 如何使用枚举名称获取枚举Id
# 1 楼答案
它只需调用其getId()方法即可:
或:
或者,假设您的意思是拥有字符串
"Ethiopia"
,那么您也可以执行EnumCountry.valueOf("Ethiopia").getId()
。希望这能回答你的问题# 2 楼答案
如果名称显示为
String
,只需执行此操作# 3 楼答案
您不能这样做,因为它们的类型不兼容-即
String
与Integer
。另一方面,您可以添加一个方法,该方法返回一个结合了name
和id
的String
:# 4 楼答案
您可以简单地添加如下方法-
所以整个课程将是这样的-