美文网首页
Java中的枚举详解

Java中的枚举详解

作者: 沧海一束 | 来源:发表于2016-10-13 17:24 被阅读0次

    定义枚举

    JDK1.5引入了一种新的数据类型枚举类型。Java使用关键字enum声明枚举类型,语法格式如下:

    enum名字

    {常量列表

    }

    其中的常量列表是用逗号分割的字符序列,称为枚举类型的常量。例如:

    enum Season

    {  spring, summer, autumn, winter

    }

    声明了名字为Season的枚举类型,该枚举类型有4个常量。

    枚举变量

    enum Season

    { spring, summer, autumn, winter

    }

    声明了名字为Season的枚举类型,该枚举类型有4个常量。

    声明了一个枚举类型后,就可以用该枚举类型声明一个枚举变量,例如:Season x;该枚举变量只能取值枚举类型中的常量。通过使用枚举名和“.”运算符获得枚举类型中的常量。例如:x=Season.spring。

    注意事项

    1.使用for语句遍历枚举常量

    枚举类型可以用如下形式返回一个一维数组:

    枚举类型的名字.values();该一维数组元素的值和该枚举类型中常量依次相对应。例如,

    Seasona[]=Season.values();

    那么,a[0]至a[3]的值依次为:spring, summer, autumn, winter。

    2.switch语句中使用枚举常量

    JDK1.5后的版本允许switch语句中表达式的值是枚举类型的常量。

    示例:

    public class Demo12{

    public static void main(String args[]){

    Weekday w = Weekday.Sunday;  /*对枚举变量进行赋值

    if(w == Weekday.Sunday){      /*对枚举进行判断

    System.out.println(w);    /*打印这个枚举

    }

    for(Weekday x:Weekday.values()){   /*声明一个中转变量x,使枚举转换为数组

    System.out.println(x);

    }

    Weekday w = Weekday.Monday;

    switch(w){

    case Monday:

    System.out.println("Monday");

    break;

    case Sunday:

    System.out.println("Sunday");

    break;

    }

    }

    public enum Weekday{    /*枚举的声明和初始化

    Monday,Sunday

    }

    }

    同时在该目录下,还生成了一个枚举,所以这个main方法不能在main里面进行定义,要在main外面定义,或者另外的源文件进行定义。它需要单独编译生成新的字节码

    For中使用枚举

    Switch中使用枚举

    打印Monday

    原文链接:http://www.maiziedu.com/wiki/java/enumerate/

    相关文章

      网友评论

          本文标题:Java中的枚举详解

          本文链接:https://www.haomeiwen.com/subject/slowyttx.html