枚舉工具類:封裝判斷是否存在這個枚舉


枚舉工具類:封裝判斷是否存在這個枚舉

1. 定義一個枚舉類,繼承BaseEnum

public enum MethodEnum implements BaseEnum {
  /** get請求方法 */
  GET(1, "GET"),

  /** post請求方法 */
  POST(2, "POST"),

  /** put請求方法 */
  PUT(3, "PUT"),

  /** delete請求方法 */
  DELETE(4, "DELETE");

  private Integer value;
  private String name;

  MethodEnum(Integer value, String name) {
    this.value = value;
    this.name = name;
  }

  @Override
  public Integer getValue() {
    return value;
  }

  @Override
  public String getName() {
    return name;
  }

  public void setValue(Integer value) {
    this.value = value;
  }

  public void setName(String name) {
    this.name = name;
  }
}

2. BaseEnum接口

public interface BaseEnum {

  Integer getValue();

  String getName();
}

3. EnumUtils工具類封裝判斷

public final class EnumUtils {

  /**
   * 判斷枚舉值是否存在於指定枚舉數組中
   *
   * @param enums 枚舉數組
   * @param value 枚舉值
   * @return boolean
   */
  public static boolean isExist(BaseEnum[] enums, Integer value) {
    if (value == null) {
      return false;
    }
    for (BaseEnum e : enums) {
      if (value.equals(e.getValue())) {
        return true;
      }
    }
    return false;
  }

  /**
   * 根據枚舉值獲取其對應的name
   *
   * @param enums 枚舉數組
   * @param value 枚舉值
   * @return 枚舉值獲取其對應的name
   */
  public static String getNameByValue(BaseEnum[] enums, Integer value) {
    if (value == null) {
      return "";
    }
    for (BaseEnum e : enums) {
      if (value.equals(e.getValue())) {
        return e.getName();
      }
    }
    return "";
  }
}

4. 測試

public class Test {
  public static void main(String[] args) {
    if (!EnumUtils.isExist(MethodEnum.values(), 5)) {
      System.out.println("錯誤"); //s輸出錯誤
    }
    String nameByValue = EnumUtils.getNameByValue(MethodEnum.values(), 1);
    System.out.println(nameByValue);
  }
}

參考博文:https://blog.csdn.net/mayfly_hml/article/details/88872366


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM