语言枚举

public enum LanguageEnum {//此处引用语言类型枚举

  C("C"), CPP("C++"), JAVA("JAVA"), CS("C#"), JAVASCRIPT("JAVASCRIPT"), PYTHON("PYTHON"),HTML("HTML"),CSS("CSS");

  private String value;

  private static String[] svalues;

  private LanguageEnum(String value) {
    this.value = value;
  }

  public String toString() { //toString 方法,将枚举转化为字符串
    return value;
  }

  public static LanguageEnum of(String language) { // of 方法,将字符串转换为枚举
    for (LanguageEnum lan : LanguageEnum.values()) {
      if (lan.toString().equals(language) || lan.name().equals(language)) {
        return lan;
      }
    }
    return null;
  }

  public static String[] getValues() { //getValues 方法,获取所有枚举
    if (svalues == null) {
      LanguageEnum[] values = LanguageEnum.values();
      svalues = new String[values.length];
      for (int x = 0; x < values.length; x++) {
        svalues[x] = values[x].toString();
      }
    }
    return svalues;
  }


  public static boolean isInclude(String key) { //判断 key 是否为枚举类型
    boolean include = false;
    for(LanguageEnum e : LanguageEnum.values()) {
      if(e.name().equals(key)) {
        include = true;
        break;
      }
    }
    return include;
  }

  public static boolean isIncludeCN(String key) { //判断 key 是否为 枚举类型的 cns 
    boolean include = false;
    for(LanguageEnum e : LanguageEnum.values()) {
      if(e.getCN().equals(key)) {
        include = true;
        break;
      }
    }
    return include;
  }
posted @ 2020-12-14 19:29  来一杯coffee  阅读(74)  评论(0)    收藏  举报