java 枚举类型

来源:互联网 发布:异常断电数据库 编辑:程序博客网 时间:2024/06/05 17:44

Java1.4之前JDK的源码使用了接口常量,结果造成了一些误导,很多人也使用了接口常量。
但是Jdk1.5之后,发生了变化,要么你用类定义static final变量,您也可以枚举
public enum Apple{FUJI,PIPPIN,GRANYY_SMITH}
其实编译后,也就是static final变量。
以下枚举,扩展的类似得,我姑且认为这个是枚举的高级用法
TianGanEnum 定义了几个属性,display、value、yinYang、wuXing
而且这些属性,还可以是类。

/** * 十天干 * @author dzm */public enum TianGanEnum {    JIA("甲",1,YinYangEnum.YANG,WuXingEnum.MU),    YI("乙",2,YinYangEnum.YIN,WuXingEnum.MU),    BING("丙",3,YinYangEnum.YANG,WuXingEnum.HUO),    DING("丁",4,YinYangEnum.YIN,WuXingEnum.HUO),    WU("戊",5,YinYangEnum.YANG,WuXingEnum.TU),    JI("己",6,YinYangEnum.YIN,WuXingEnum.TU),    GENG("庚",7,YinYangEnum.YANG,WuXingEnum.JIN),    XIN("辛",8,YinYangEnum.YIN,WuXingEnum.JIN),    REN("壬",9,YinYangEnum.YANG,WuXingEnum.SHUI),    GUI("癸",10,YinYangEnum.YIN,WuXingEnum.SHUI);    /**     * 显示     */    private final String display;    /**     * 数     */    private final int value;    /**     * 阴阳     */    private final YinYangEnum yinYang;    /**     * 五行     */    private final WuXingEnum wuXing;    private TianGanEnum(String display,int value, YinYangEnum yinYang, WuXingEnum wuXing){        this.display = display;        this.yinYang = yinYang;        this.wuXing = wuXing;        this.value = value;    }    public  static TianGanEnum getTianGan(String display){        for (TianGanEnum tiangan:TianGanEnum.values()){            if (tiangan.display.equals(display)){                return tiangan;            }        }        return null;    }    public String display(){        return this.display;    }    public int value(){        return value;    }    public YinYangEnum getYinYang(){        return this.yinYang;    }    public WuXingEnum getWuXing(){        return this.wuXing;    }}
0 0
原创粉丝点击