Java枚举(Enum)类型的研究与应用

一、枚举类型的使用规范

阿里巴巴Java开发手册中对enum类型的使用说明:
在这里插入图片描述
对enum类的命名说明:
在这里插入图片描述
对枚举类型的使用限制:
在这里插入图片描述
对枚举类型的强制注释:
在这里插入图片描述

二、通过demo认识枚举

Season.java
一个包含枚举的普通类

package com.jake.guidelines.enums;

public class Season {

    SeasonEnums seasonEnum;

    public enum SeasonEnums {
        SPRING(1), SUMMER(2), AUTUMN(3), WINTER(4);

        private int seq;

        SeasonEnums(int seq){
            this.seq = seq;
            System.out.println("The season-enum constructor is invoked, and the seq = " + seq);
        }
    }

    public static void printSeasonVerses(SeasonEnums seasonEnums) {
        switch (seasonEnums) {
            case SPRING:
                System.out.println("春风又绿江南岸");
                break;
            case SUMMER:
                System.out.println("但惜夏日长");
                break;
            case AUTUMN:
                System.out.println("天气晚来秋");
                break;
            case WINTER:
                System.out.println("疑是经冬雪未销");
                break;
        }
    }
}

SeasonEnumTest.java
枚举测试类

package com.jake.guidelines.enums;

import org.junit.Test;

public class SeasonEnumTest {

    @Test
    public void testSeasonEnum() {
        System.out.println(Season.SeasonEnums.SPRING);
    }

    @Test
    public void testSeasonEnumValue() {
        System.out.println(Season.SeasonEnums.valueOf("SPRING"));
    }

    @Test
    public void testSeasonEnumValues() {
        for (Season.SeasonEnums season : Season.SeasonEnums.values()) {
            System.out.println(season.name());
        }
    }

    @Test
    public void testSeasonEnumOrdinate() {
        Season.SeasonEnums winter = Season.SeasonEnums.WINTER;
        System.out.println(winter.ordinal());
    }

    @Test
    public void testSeasonEnumField() {
        Season season = new Season();
        season.seasonEnum = Season.SeasonEnums.SUMMER;
        System.out.println(season.seasonEnum.name());

    }

    @Test
    public void testSeasonEnumsInSwitchCases() {
        Season.printSeasonVerses(Season.SeasonEnums.SPRING);
    }
}

发布了79 篇原创文章 · 获赞 322 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_15329947/article/details/89603157