Java 如何使用枚举名称获取枚举id 公共枚举EnumCountry实现EnumClass{ 埃塞俄比亚(1), 坦桑尼亚(2), 私有整数id; 枚举国家(整数值){ this.id=值; } 公共整数getId(){ 返回id; } @可空 公共静态EnumCountry fromId(整数id){ for(EnumCountry位于:EnumCountry.values()){ if(at.getId().equals(id)){ 返回; } } 返回null; } }
我有上面的代码。Java 如何使用枚举名称获取枚举id 公共枚举EnumCountry实现EnumClass{ 埃塞俄比亚(1), 坦桑尼亚(2), 私有整数id; 枚举国家(整数值){ this.id=值; } 公共整数getId(){ 返回id; } @可空 公共静态EnumCountry fromId(整数id){ for(EnumCountry位于:EnumCountry.values()){ if(at.getId().equals(id)){ 返回; } } 返回null; } },java,enums,cuba-platform,cuba,Java,Enums,Cuba Platform,Cuba,我有上面的代码。 如何使用枚举名获取枚举Id。它只需调用其getId()方法即可: 或: 或者,假设您的意思是有字符串“埃塞俄比亚”,那么您也可以执行EnumCountry.valueOf(“埃塞俄比亚”).getId()。希望这能回答你的问题 只需调用其getId()方法即可: 或: 或者,假设您的意思是有字符串“埃塞俄比亚”,那么您也可以执行EnumCountry.valueOf(“埃塞俄比亚”).getId()。希望这能回答你的问题 您可以简单地添加如下方法- Tanzania.getId
如何使用枚举名获取枚举Id。它只需调用其getId()方法即可: 或:
或者,假设您的意思是有字符串
“埃塞俄比亚”
,那么您也可以执行EnumCountry.valueOf(“埃塞俄比亚”).getId()
。希望这能回答你的问题 只需调用其getId()方法即可:
或:
或者,假设您的意思是有字符串
“埃塞俄比亚”
,那么您也可以执行EnumCountry.valueOf(“埃塞俄比亚”).getId()
。希望这能回答你的问题 您可以简单地添加如下方法-
Tanzania.getId()
所以整个课程将是这样的-
public static int getId(String enumCountryName) {
return EnumCountry.valueOf(enumCountryName).getId();
}
公共枚举EnumCountry实现EnumClass{
埃塞俄比亚(1),
坦桑尼亚(2);
私有整数id;
枚举国家(整数值){
this.id=值;
}
公共整数getId(){
返回id;
}
@可空
公共静态EnumCountry fromId(整数id){
for(EnumCountry位于:EnumCountry.values()){
if(at.getId().equals(id)){
返回;
}
}
返回null;
}
公共静态int getId(字符串enumCountryName){
返回EnumCountry.valueOf(enumCountryName).getId();
}
}
您可以简单地添加如下方法-
Tanzania.getId()
所以整个课程将是这样的-
public static int getId(String enumCountryName) {
return EnumCountry.valueOf(enumCountryName).getId();
}
公共枚举EnumCountry实现EnumClass{
埃塞俄比亚(1),
坦桑尼亚(2);
私有整数id;
枚举国家(整数值){
this.id=值;
}
公共整数getId(){
返回id;
}
@可空
公共静态EnumCountry fromId(整数id){
for(EnumCountry位于:EnumCountry.values()){
if(at.getId().equals(id)){
返回;
}
}
返回null;
}
公共静态int getId(字符串enumCountryName){
返回EnumCountry.valueOf(enumCountryName).getId();
}
}
您不能这样做,因为它们的类型不兼容-即字符串
与整数
。另一方面,您可以添加一个方法,该方法返回一个结合了名称和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;
}
public static int getId(String enumCountryName) {
return EnumCountry.valueOf(enumCountryName).getId();
}
}
公共枚举EnumCountry实现EnumClass{
埃塞俄比亚(1),
坦桑尼亚(2);//用分号替换逗号
私有整数id;
// ...
公共字符串getNameId(){
//返回“Ethiopa 1”
返回名称()+“”+id;
}
// ...
}
您不能这样做,因为它们的类型不兼容-即字符串
与整数
。另一方面,您可以添加一个方法,该方法返回一个结合了名称和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;
}
public static int getId(String enumCountryName) {
return EnumCountry.valueOf(enumCountryName).getId();
}
}
公共枚举EnumCountry实现EnumClass{
埃塞俄比亚(1),
坦桑尼亚(2);//用分号替换逗号
私有整数id;
// ...
公共字符串getNameId(){
//返回“Ethiopa 1”
返回名称()+“”+id;
}
// ...
}
如果名称显示为字符串
,只需执行此操作
public enum EnumCountry implements EnumClass<Integer> {
Ethiopia(1),
Tanzania(2); // replaced comma with semicolon
private Integer id;
// ...
public String getNameId() {
// returns "Ethiopa 1"
return name() + " " + id;
}
// ...
}
如果名称显示为字符串
,只需执行此操作
public enum EnumCountry implements EnumClass<Integer> {
Ethiopia(1),
Tanzania(2); // replaced comma with semicolon
private Integer id;
// ...
public String getNameId() {
// returns "Ethiopa 1"
return name() + " " + id;
}
// ...
}
可能的重复可能的重复