1.一个简单的Java枚举类应用代码:
package com.enum.test;
public class EnumTest
{
public void printColor(Color color)
{
switch(color)
{
case RED:
System.out.println("红色!!!");
break;
case BLUE:
System.out.println("蓝色!!!");
break;
case YELLOW:
System.out.println("黄色!!!");
break;
}
}
public static void main(String[] args)
{
EnumTest enumeration = new EnumTest();
enumeration.printColor(Color.RED);
enumeration.printColor(Color.BLUE);
enumeration.printColor(Color.YELLOW);
}
}
enum Color
{
RED,BLUE,YELLOW;
}
2. 枚举的构造函数、方法以及字段。
枚举类也可以有构造函数、方法以及字段,是的,你没看错。请看下面的代码:
enum Grade
{
A("90~100"),B("80~89"),C("70~79"),D("60~69"),E("0~59");
private String value = "";
private Grade(String value)
{
this.value = value;
}
public String getValue()
{
return value;
}
}
A、B等相当于枚举类Grade的实例,只不过是静态实例。而且,枚举类的构造函数可以有,但是必须是private修饰的,私有构造函数。
3. 枚举类的抽象方法。
代码示例:
enum Grade
{
A("90~100")
{
public String getLocalValue(){
return "优秀";
}
},
B("80~89")
{
public String getLocalValue()
{
return "良好";
}
},
C("70~79")
{
public String getLocalValue()
{
return "中等";
}
} ,
D("60~69")
{
public String getLocalValue()
{
return "差";
}
},
E("0~59")
{
public String getLocalValue()
{
return "未及格";
}
};
String value = "";
private Grade(String value)
{
this.value = value;
}
public String getValue()
{return value;
}
public abstract String getLocalValue();
}
4.枚举的的常用方法列表
a. name()方法,实例方法,返回枚举值的字符串标识。
b.valueOf()方法,静态类方法,返回字符串对应的枚举值,类型为枚举类的类型。当字符串无对应的枚举值的时候,代码会抛出异常。
c.ordinal()方法,实例方法,返回枚举值定义的顺序下标。下标默认是从0开始的,与数组类似。
d.vaules(),静态方法,返回一个枚举类型的数组,方便遍历。