枚举的应用

来源:互联网 发布:python socket udp 编辑:程序博客网 时间:2024/05/19 17:57

 

1.         根据枚举中定义的值,来返回所对应的星期值(变量写成大写)
2.         Java代码 :
3.         public enum WeekDay {
 
4.         SUNDAY {
5.         public String getLocalValue() {
6.         return "星期日";
7.         }
8.         },
9.         MONDAY {
10.     public String getLocalValue() {
11.     // TODO Auto-generated method stub
12.     return "星期一";
13.     }
14.     },
15.     TUESDAY {
16.     public String getLocalValue() {
17.     // TODO Auto-generated method stub
18.     return "星期二";
19.     }
20.     },
21.     WEDNESDAY {
22.     public String getLocalValue() {
23.     // TODO Auto-generated method stub
24.     return "星期三";
25.     }
26.     },
27.     THURSDAY {
28.     public String getLocalValue() {
29.     // TODO Auto-generated method stub
30.     return "星期四";
31.     }
32.     },
33.     FRIDAY {
34.     public String getLocalValue() {
35.     // TODO Auto-generated method stub
36.     return "星期五";
37.     }
38.     },
39.     SATURDAY {
40.     public String getLocalValue() {
41.     // TODO Auto-generated method stub
42.     return "星期六";
43.     }
44.     };
 
45.     public abstract String getLocalValue();
46.     }
47.     然后我们进行测试也就是赋予其一个枚举中的值
48.     Java代码:
49.     import org.junit.Test;
 
50.     public class WeekDayTest {
 
51.     @Test
52.     public void test(){
53.     WeekDay wk = WeekDay.FRIDAY;
54.     System.out.println(wk.getLocalValue());
55.     }
 
56.     }
57.     因为每个枚举的值都是静态的共有的对象所以可以直接用类名调用
58.     简单的实例说明:
59.     public class Student {
60.     private String name; //名称
61.     private String grade;//A优,B良,C中,D差
 
62.     public String getName() {
63.     return name;
64.     }
65.     public void setName(String name) {
66.     this.name = name;
67.     }
68.     public String getGrade() {
69.     return grade;
70.     }
71.     public void setGrade(String grade) {
72.     if(grade.matches("[ABCD]")){
73.     System.out.println("---------");
74.     this.grade = grade;
75.     }else{
76.     throw new IllegalArgumentException("你传递的参数不合法...");
77.     }
 
78.     }
79.     测试Java代码 :
80.     import org.junit.Test;
 
81.     public class StudentTest {
 
82.     @Test
83.     public void test(){
84.     Student st = new Student();
85.     st.setGrade("AB");
86.     }
87.     }
88.     它就会抛出你传递的参数不合法,因为他的参数为ABCD其中的任何一个
原创粉丝点击