java 枚举类型

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
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

warrah

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值