JAVA枚举

枚举类型的使用:

定义一个枚举变量:

    enum Day{
        MOD,TUE,WED,THR,FRI;
    };

  可以直接输出枚举变量的字符串形式和利用switch输出,在JDK1.6及之前switch只识别int,char,enum等类型变量,而不识别String字符串,因此可以用枚举进行转换;同时可以调用values()方法对枚举变量进行遍历:

    public static String getval(Day i){
        switch (i) {
        case MOD:
            return "0";
        case TUE:
            return "1";
        case WED:
            return "2";
        case THR:
            return "3";
        case FRI:
            return "4";
        default:return "null";
        }
    }

 

        System.out.println(Day.FRI);
        String sval = getval(Day.WED);
        System.out.println(sval);

      for (Day day : Day.values()) {
        System.out.println(day);
      }

 

输出结果:

FRI
2
MOD
TUE
WED
THR
FRI

  enum 是一个普通的 class,它们都可以定义一些属性和方法,但是enum 不能使用 extends 关键字继承其他类,因为 enum 已经继承了 java.lang.Enum(java是单一继承)但是可以实现其他接口,并实现接口中的方法。

在enum类中实现自定义方法:

 1     enum Day{
 2         
 3         MOD(1),TUE(2),WED(3),THR(4),FRI(5);
 4         
 5         private int val;
 6         
 7         Day(int _val){
 8             this.val = _val;
 9         }
10         
11         public String getDayvalue(){
12             return "$"+val;
13         }
14     };

调用枚举类中自定义的函数:

        for (Day day : Day.values()) {
            System.out.println(day.getDayvalue());
        }

输出结果:

$1
$2
$3
$4
$5

 

posted @ 2016-08-07 16:04  风雪夜归人shen  阅读(593)  评论(0编辑  收藏  举报