(枚举) 在实战中的基本用法

在项目中我们常常会碰到一些常量之类的死数据,但是为了方便管理,我们最好都是不要直接写死,不然等到要修改的时候就只能一条条的修改,那么我们有没有更加方便的方式去保存这些死数据呢,这里我们就可以用到枚举了

枚举的特点:

  • 是一个特殊的类,拥有编译安全、完全单利、和线程的安全

而且我们也可以写一个接口枚举例如:

public interface IEnum {
    String getCode();

    Integer getType();
}

之后对这个写一个接口实现类

//我就写一个游戏类型的枚举

public enum GameTypeEnum implements IEnum{
    /**
     * 网络游戏 1
     * 手机游戏 2
     * 网页游戏 3
     * PC游戏 4
     */
    ONLINEGAME("ONLINEGAME",1),
    PHONEGAME("PHONEGAME",2),
    WEBGAME("WEBGAME",3),
    PCGAME("PCGAME",4);

    /**
     * 枚举标识码
     */
    private String code;

    /**
     * 枚举细节描述
     */
    private Integer type;


    @Override
    public String getCode(){
        return code;
    }

    @Override
    public Integer getType(){
        return type;
    }

    /**
     * 构造方法
     * @param code
     * @param type
     */
    GameTypeEnum(String code, Integer type){
        this.code = code;
        this.type = type;
    }

    /**
     * 获取枚举的方法
     * @param code 传入枚举的code
     * @return 返回枚举
     */
    public static GameTypeEnum getInstance(String code){
        for (GameTypeEnum value : GameTypeEnum.values()){
            if(value.getCode().equals(code)){
                return value;
            }
        }
        return null;
    }
}

在使用的时候我们就可以直接调用获取枚举细节的方法,获取到我们要的写死的值

注意事项

  • 枚举不能被new 、 反射 、序列化等操作
  • 枚举不能被继承
  • 枚举是线程安全的
  • 枚举默认继承Enum
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值