如何使用其枚举名称获取枚举ID

1 java enums cuba cuba-platform

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;
  }
}
Run Code Online (Sandbox Code Playgroud)

我有上面的代码.如何使用其枚举名称获取Enum Id.

sha*_*wat 7

您只需添加如下方法 -

  public static int getId(String enumCountryName) {
     return EnumCountry.valueOf(enumCountryName).getId();
  }
Run Code Online (Sandbox Code Playgroud)

所以完整的课程将是这样的 -

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();
  }
}
Run Code Online (Sandbox Code Playgroud)