java枚举

来源:互联网 发布:网络拒绝接入什么意思 编辑:程序博客网 时间:2024/05/29 16:31

枚举 —– 用来对一定范围内的值 进行取值
枚举语法 : enum 枚举类名称 { 枚举对象实例,枚举对象实例… ; }
* 可读性良好、阻止非法数据

案例:员工和角色案例 —-枚举技术由来
* 应用 :多个固定取值范围中 取一个值 , 三选一效果

Java数据类型有几种:两大种 引用数据类型 原始数据类型
引用数据类型 :interface class 数组 enum
原始数据类型 :8种

每一个枚举值 在编译.class文件后,成为枚举成员对象(常量)

枚举类构造器 必须private 的

JDK5 switch 可以接受五种数据 类型 byte 、short 、int 、char、enum
JDK7 switch 可以接受六种 : 多了一种String

这是两个枚举类实现星期的转换(注意两种写法的不同)

/** * 星期输出中文案例 *  * @author seawind *  */public class WeekDayTest {    public static void main(String[] args) {        WeekDay1 day1 = WeekDay1.Fri;        day1.show();        WeekDay2 day2 = WeekDay2.Wed;        day2.show();    }}enum WeekDay2 {    Mon {        @Override        public void show() {            System.out.println("星期一");        }    },    Tue {        @Override        public void show() {            System.out.println("星期二");        }    },    Wed {        @Override        public void show() {            System.out.println("星期三");        }    },    Thu {        @Override        public void show() {            System.out.println("星期四");        }    },    Fri {        @Override        public void show() {            System.out.println("星期五");        }    },    Sat {        @Override        public void show() {            System.out.println("星期六");        }    },    Sun {        @Override        public void show() {            System.out.println("星期日");        }    };    public abstract void show();}enum WeekDay1 {    Mon, Tue, Wed, Thu, Fri, Sat, Sun;    // 编写方法 show    public void show() {        // 根据枚举对象 名字 返回响应中文星期        if (this.name().equals("Mon")) {            System.out.println("星期一");        } else if (this.name().equals("Tue")) {            System.out.println("星期二");        } else if (this.name().equals("Wed")) {            System.out.println("星期三");        } else if (this.name().equals("Thu")) {            System.out.println("星期四");        } else if (this.name().equals("Fri")) {            System.out.println("星期五");        } else if (this.name().equals("Sat")) {            System.out.println("星期六");        } else if (this.name().equals("Sun")) {            System.out.println("星期日");        }    }}

枚举类型的一些方法:

//定义的枚举类public enum Color {    RED,BLACK,BLUE;}
    @Test    public void demo1(){//枚举类型的方法测试        Color color=Color.RED;        System.out.println(color.name());        System.out.println(color.ordinal());        System.out.println("--------------");        String name="BLACK";        Color color2=Enum.valueOf(Color.class, name);        System.out.println(color2.name());        Color[] colorarray=Color.values();        System.out.println(Arrays.toString(colorarray));        Color color3=Color.valueOf("BLUE");        System.out.println(color3.name());    }
0 0
原创粉丝点击