Java枚举
来源:互联网 发布:机械绘图软件 编辑:程序博客网 时间:2024/05/20 09:44
普通枚举
public enum ColorEnum{ red, green, yellow, blue;}
实现带属性和方法的枚举
枚举像普通的类一样可以添加属性和方法, 可以为它添加静态和非静态的属性或方法
public enum SeasonEnum{ spring, summer, autumn, winter; private final static String position = "test"; public static SeasonEnum getSeason(){ if("test".equals(position)){ return spring; }else { return winter; } } }
实现带有构造器的枚举
public enum Gender{ //通过括号赋值,而且必须带有一个参构造器和一个属性方法,否则编译出错 //赋值必须都赋值或都不赋值, 不能一部分赋值一部分不赋值; 如果不赋值 // 则不能写构造器,赋值编译也出错 MAN("MAN"), WOMEN("WOMEN"); private final String value; //构造器默认也只能是private,从而保证构造函数只能在内部使用 private Gender(String value){ this.value = value; } public String getValue(){ return value; }}
实现带有抽象方法的枚举
public enum OrderState{ /** 已取消 */ CANCEL {public String getName(){return "已取消";}}, /** 待审核 */ WAITCONFIRM {public String getName(){return "待审核";}}, /** 等待付款 */ WAITPAYMENT {public String getName(){return "等待付款";}}, /** 正在配货 */ ADMEASUREPRODUCT {public String getName(){return "正在配货";}}, /** 等待发货 */ WAITDELIVER {public String getName(){return "等待发货";}}, /** 已发货 */ DELIVERED {public String getName(){return "已发货";}}, /** 已收货 */ RECEIVED {public String getName(){return "已收货";}}; public abstract String getName();}
举例
ColorEnum colorEnum = ColorEnum.red; switch (colorEnum) { case red: System.out.println("color is red"); break; case green: System.out.println("color is green"); break; case yellow: System.out.println("color is yellow"); break; case blue: System.out.println("color is blue"); break;}//遍历枚举for(ColorEnum color : ColorEnum.values()){ System.out.println(color);}//获取枚举的个数System.out.println("ColorEnum枚举中的值有"+ColorEnum.values().length+"个");//获取枚举的索引位置,默认从0开始System.out.println(ColorEnum.red.ordinal());//0System.out.println(ColorEnum.green.ordinal());//1System.out.println(ColorEnum.yellow.ordinal());//2System.out.println(ColorEnum.blue.ordinal());//3//枚举默认实现了java.lang.Comparable接口System.out.println(ColorEnum.red.compareTo(ColorEnum.green));System.err.println("季节为" + SeasonEnum.getSeason());for(Gender gender : Gender.values()){ System.out.println(gender.value);}//实现抽象方法for(OrderState order : OrderState.values()){ System.out.println(order.getName());}
0 0
- JAVA 枚举
- java枚举
- java枚举
- Java 枚举
- Java 枚举
- Java 枚举
- java 枚举
- java 枚举
- java枚举
- java枚举
- java枚举
- java枚举
- Java枚举
- java枚举
- java 枚举
- java枚举
- Java枚举
- Java枚举
- 实验2 Activity和Intent-任务2:标准体重计算器
- 重叠区间个数
- 清理tomcat缓存的步骤
- webservice: Could not initialize Service NoSuchMethodException getPortClassMap()
- nginx的学习笔记
- Java枚举
- c经典编程实例
- linux命令 备忘
- React Native Button实现
- 【自考】数据结构导论——二叉树
- 算法 存一下
- 广义表的递归实现
- 基于模糊滤波的数字图像去噪
- 中国流行歌手普遍缺乏科学的高音。