枚举类型的定义和使用
public enum GenNum {
A("90-100"),B("80-89"),C("60-79"),D("0-59");
private String value;
private GenNum(String value)
{
this.value=value;
}
public String getValue()
{
return this.value;
}
}
--------使用构造函数和抽象函数时
/**
* 带有构造函数的枚举类
* @author lwc
*
*/
public enum Grade {
A("90-100") {
public String loadvalue() {
return "优秀";
}
},
B("80-89") {
public String loadvalue() {
return "良好";
}
},
C("70-79") {
public String loadvalue() {
return "中等";
}
},
D("60-69") {
public String loadvalue() {
return "差";
}
},
E("0-59") {
public String loadvalue() {
return "不及格";
}
};
private String grades;
private Grade(String grades) {
this.grades = grades;
}
public abstract String loadvalue();
}
测试使用
@Test
public void test1()
{
print(GenNum.B);
}
public void print(GenNum g)
{
String grade=g.getValue();
System.out.println(grade);
}
//测试构造函数,带抽象函数
@Test
public void test2()
{
String ss=obtainGrade(Grade.A);
System.out.println(ss);
}
public String obtainGrade(Grade g)
{
String grades=g.loadvalue();
return grades;
}
//枚举常用的函数
@Test
public void test3(){
System.out.println(Grade.A.name());//枚举名称
System.out.println(Grade.C.ordinal());//出现的位置
String str="B";
Grade g=Grade.valueOf(str);
System.out.println(g);
Grade []gg=Grade.values();//遍历所有枚举
}