zoukankan      html  css  js  c++  java
  • 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#

  • 相关阅读:
    texturePacker黄色文件夹和蓝色文件夹
    自定义相机下使用clippingNode注意事项
    cocos2dx 3.3多相机下_transformUpdated bug
    一定不要在头文件中using namespace XXX
    cocos2dx 3.3将坐标由父空间转化到局部空间
    cocos2dx 3.3 getParentToNodeTransform bug
    cocos2dx 3.x designResolutionSize须主动设置
    mysql操作查询结果case when then用法举例
    java List.subList方法中的超级大陷阱
    Linux下修改Mysql的用户(root)的密码
  • 原文地址:https://www.cnblogs.com/sincoolvip/p/6526984.html
Copyright © 2011-2022 走看看