package cn.itcast.enumration;
import org.junit.Test;
public class Demo2 {
@Test
public void test(){
print(Grade1.A);
}
public void print(Grade1 g){
String value=g.localValue();
System.out.println(value);
}
@Test
public void test2(){
System.out.println(Grade.A.name());
System.out.println(Grade.E.ordinal());
String str="C";
Grade g=Grade.valueOf(str);
System.out.println(g);
}
}
enum Grade1{
A("100-90"){
public String localValue(){
return "优";
}
},
B("89-80"){
public String localValue(){
return "良";
}
},
C("79-70"){
public String localValue(){
return "中";
}
},
D("69-60"){
public String localValue(){
return "一般";
}
},
E("59-0"){
public String localValue(){
return "差";
}
};
private String value;
private Grade1(String value){
this.value=value;
}
public String getValue()
{
return value;
}
public abstract String localValue();
}
学习了枚举后有一些小的疑问,public abstract String localValue();语句中用了abstract修饰,那么enum Grade1不使用abstract吗?
String str="C";Grade g=Grade.valueOf(str);System.out.println(g);是把某一个字符串转换为枚举,那么这个字符串为什么不是任意的呢?
比如将String str="C";改成String str="F";就会出错呢?
|
|