==============================代码的分割线=======================================
enum FruitEnum {
APPLE(1),ORANGE(2); // 调用构造函数来构造枚举项
private intvalue = 0;
privateFruitEnum(int value){ // 必须是private的,否则编译错误
this.value =value;
}
publicstatic FruitEnum valueOf(int value){ // 手写的从int到enum的转换函数
switch(value) {
case1:
returnAPPLE;
case2:
returnORANGE;
default:
returnnull;
}
}
public intvalue() {
returnthis.value;
}
}
public static void main(String[] args) {
System.out.println(FruitEnum.APPLE.value()); // 1
System.out.println(FruitEnum.ORANGE.value()); // 2
System.out.println(FruitEnum.valueOf(1)); // FruitEnum.APPLE
System.out.println(FruitEnum.valueOf(2)); // FruitEnum.ORANGE
}
/
如果枚举项的值从0开始递增满足需要的话,那就简单了:
enum MyEnum{
FIRST_ELEMENT,
SECOND_ELEMENT,
}
public static void main(String[] args) {
System.out.println(MyEnum.FIRST_ELEMENT.ordinal()); // 0
System.out.println(MyEnum.SECOND_ELEMENT.ordinal()); // 1
System.out.println(MyEnum.values()[0]); // MyEnum.FIRST_ELEMENT
System.out.println(MyEnum.values()[1]); // MyEnum.SECOND_ELEMENT
}
来自:http://blog.sina.com.cn/s/blog_48d4cf2d0100vtrr.html