Java Enum

来源:互联网 发布:手感好的无线鼠标知乎 编辑:程序博客网 时间:2024/05/19 22:24

先来贴代码:

package casia.isiteam.plgroup.duoyu.util;

public enum Language {
CHINESE_SIMPLIFIED(1), ENGLISH(2), TIBETAN(3), WEIWEN(4), ARABIC(5);
private int value;

private Language(int value) {
   this.value = value;
}

public int getValue() {
   return this.value;
}

public static Language get(int value) {
   Language[] langs = Language.values();
   for (Language l : langs) {
    if (l.getValue() == value) {
     return l;
    }
   }
   return null;
}
}

下面是一个测试

package casia.isiteam.plgroup.duoyu.test;

public class EnumTest {
static{
   //顺序,也是默认值
   System.out.println(casia.isiteam.plgroup.duoyu.util.Language.CHINESE_SIMPLIFIED.ordinal());
   //这个就是我们自定义的值了
   System.out.println(casia.isiteam.plgroup.duoyu.util.Language.CHINESE_SIMPLIFIED.getValue());
   //获取一个枚举类型
   System.out.println(casia.isiteam.plgroup.duoyu.util.Language.get(1));
}
public static void main(String[] args){
  
}
}

JAVA中的Enum好像不能直接赋值,就要使用变通的方法进行。本例使用的构造函数给一个私用变量赋值,然后使用getValue方法取出所赋的值。

下面的get方法则是从int,获取一个Language类型的枚举了。代码比较易懂。

另外需要注意的地方是:枚举的构造函数只能是private的,不能使用public。

原创粉丝点击