java 5.0引入的新特性-枚举

概念

  首先,枚举并不是一种新技术,而是一种基础数据类型.它隶属于两种基础类型中的值类型,如下:

 

2.  为什么要有枚举

 

  枚举在真正的开发中是非常常用的,它的作用很简单也很纯粹:它定义了一种规范,就是要让某个类型的变量的取值只能为若干个固定值中的一个,也就是要符合它定义的规范.它可以让编译器在编译时就可以识别程序中填写的非法值,一定程度上防止了运行时的非法类型值错误.

 

  例如:要定义星期几的变量,如果用普通变量1-7   分别表示星期一到星期日,但有人可能写成int weekday=0.这种错误只能到运行时才能发现,编译是没问题的。但如果用枚举代替普通变量,就可将错误在编译时识别。

 

  枚举本身当然是一个类,它的定义与使用与普通类很类似,而每个枚举变量都相当于类的一个对象。下面将分别介绍枚举的基本使用、带有构造方法的枚举、带有抽象方法的枚举。如下:

 

3.  基本使用

 

public class EnumTest2 {  
    public static void main(String[] args) {  
        WeekDay weekDay2 = WeekDay.FRI;  
        //使用1:toString()方法  
        System.out.println(weekDay2);//输出:FRI  
        //使用2:name()方法  
        System.out.println(weekDay2.name());//输出:FRI  
        //使用3:ordinal()方法  
        System.out.println(weekDay2.ordinal()); //输出:5  
        //使用4:枚举变量的反射  
        System.out.println(WeekDay.valueOf("SUN").toString());//输出:SUN  
        //使用5:获取枚举的长度  
        System.out.println(WeekDay.values().length);//输出:7  
    }  
    /** 
     * 定义枚举类--这里作为测试类的一个子类 
     */  
    public enum WeekDay{  
        SUN,MON,TUE,WED,THI,FRI,SAT;  
    }         
} 

 

其它可参考:

http://blog.csdn.net/wang379275614/article/details/39652245#

 

posted @ 2017-03-09 18:04  sincoolvip  阅读(298)  评论(0编辑  收藏  举报