Java中枚举的定义

java中关于枚举的定义:

1、枚举是一种引用数据类型。


2、枚举类型怎么定义:

enum 枚举名 {
	// 枚举值
}

3、什么时候用枚举?

结果只有两种情况的,建议使用boolean类型,或者使用0和1表示;

结果超过两种,并且还是可以一枚一枚列举出来的,建议使用枚举。


4、枚举里面的值可以看成常量,值是枚举类型。

名称全部大写,单词以“_”隔开。

各个枚举值之间用“,”隔开,最后一个枚举值后面逗号可有可无,最好还是不要写。


测试代码:

public class Test01 {
    public static void main(String[] args) {
        int month = 12;
        Season season = getSeason(month);
        System.out.println(season);  // WINTER

        //switch语句支持枚举,String,int
        Season season1 = Season.SPRING;
        switch (season1) {
            //必须省略“Season.”
            case SPRING:
                System.out.println("春天");  break;
            case SUMMER:
                System.out.println("夏天");  break;
            case AUTUMN:
                System.out.println("秋天");  break;
            case WINTER:
                System.out.println("冬天");  break;
        }
    }

    //写一个方法,能判断一个月份是哪个季节,123春,456夏,789秋,10,11,12冬
    //只有4个季节,所以返回枚举类型Season
    public static Season getSeason(int month) {  //对传进来的数字要先前判断合法
        if (month >= 1 && month <= 3)   return Season.SPRING;
        if (month >= 4 && month <= 6)   return Season.SUMMER;
        if (month >= 7 && month <= 9)   return Season.AUTUMN;
        return Season.WINTER;
    }

}

//定义枚举,四季
enum Season {
    SPRING,
    SUMMER,
    AUTUMN,
    WINTER,
}

//定义枚举,星期
enum Weekday {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
}

另附:实际开发中枚举的定义:

package com.pipi.apply.core.constant;

import com.pipi.parent.core.exception.MsgException;
import lombok.Getter;

import java.util.Objects;
/**
 * <p>
 * 描述:申请常量
 * </p>
 *
 * @author pipizhen
 * @since 2020/11/06
 */
public interface PromConstant {
    
    /**
     * 申请状态
     */
    enum UnbindApplyTypeEnum {

        AUDITING(1, "待处理"),
        UNBIND(2, "已处理"),
        INVALID(3, "无效");

        @Getter
        private Integer code;
        @Getter
        private String desc;

        UnbindApplyTypeEnum(Integer code, String desc) {
            this.code = code;
            this.desc = desc;
        }

        public static String valueOf(Integer code) {
        	if (code == null) return "";
            for (UnbindApplyTypeEnum type : UnbindApplyTypeEnum.values()) {
                if (Objects.equals(type.getCode(), code)) {
                    return type.getDesc();
                }
            }
            return "";
        }

    }

}

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值