search.png
关于我
menu.png
Java review(17) 枚举

枚举的遍历、下标值转枚举实例

    enum Week1 {
        MON, TUE, WED, THU, FRI, SAT, SUN
    }

    @Test
    public void test1() throws Exception {
        // for each 遍历
        for (Week1 week : Week1.values()) {
            System.out.println(week.name() + ": " + week.ordinal());
        }
    }

    @Test
    public void test2() throws Exception {
        int ordinal = 5;
        // 将下标值转换为枚举
        System.out.println(Week1.values()[ordinal]);
    }
MON: 0
TUE: 1
WED: 2
THU: 3
FRI: 4
SAT: 5
SUN: 6
SAT

枚举的带参构造、使用switch 来分类选择:


    enum Week2 {
        MON("星期一"),
        TUE("星期二"),
        WED("星期三"),
        THU("星期四"),
        FRI("星期五"),
        SAT("星期六"),
        SUN("星期日");

        String chinese;

        // 一旦枚举定义完,构造函数就再也无法使用了,所以无需设置其可访问性
        Week2(String chinese){
            this.chinese = chinese;
        }
    }

    @Test
    public void test5() throws Exception {
        Week2 mon = Week2.MON;
        switch (mon) {
            case MON:
                System.out.println(mon.chinese);
                break;
            case TUE:
                System.out.println(mon.chinese);
                break;
            case WED:
                System.out.println(mon.chinese);
                break;
            case THU:
                System.out.println(mon.chinese);
                break;
            case FRI:
                System.out.println(mon.chinese);
                break;
            case SAT:
                System.out.println(mon.chinese);
                break;
            case SUN:
                System.out.println(mon.chinese);
                break;
        }
    }
星期一

关于枚举还有很多复杂的地方,留待以后补充..

版权声明

知识共享许可协议 本文章由作者“衡于墨”创作,转载请注明出处,未经允许禁止用于商业用途

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
发布时间:2019年11月29日 17:52:09

评论区#

还没有评论哦,期待您的评论!

关闭特效