简单的枚举示例

27 篇文章 2 订阅
1 篇文章 0 订阅

我目前接触到的枚举有两种形式的,一种不带任何参数,一种是定义参数值的,下面都分别记录一下(只是做个记录,如果有不对的,请别喷,留言给我我会改正的)

第一种:

   1.直接创建枚举

package xxx.xxx.xxx.xxx.enums;

/**
 * 日志类别
 */
public enum LogType {
    OPERATION, //默认0操作
    INSERT, //1 新增
    DELETE, //2 删除
    UPDATE, //3 修改
    SELECT //4 查询
}

2.调用:只示例了两种.ordinal()和.name()调用,Enum.java中还有别的方法,如果需要调用可以去百度,结果自己执行去看

public static void main(String[] args) {
        System.out.println(LogType.INSERT.ordinal());//获取到枚举中每个参数的依次顺序,比如INSERT,是在枚举参数的第二个,枚举顺序从0开始,所以insert就是1
        System.out.println(LogType.INSERT.name());//获取到枚举本身的名称,比如INSERT,获取到的就是‘INSERT’
    }

第二种:带有参数的枚举

1.创建枚举:这个枚举引用了一个自定义的父级接口,这里也可以在自己方法内声明参数,方法内备注有说明

package xxx.xxx.xxx.xxx.enums;


public enum OrderTypeEnum implements BaseEnum {
    // vip订单
    VIP_ORDER(1, "001"), //参数中1对应的是code,001对应的msg
    // 课程订单
    COURSE_ORDER(2, "002"),
    ;
    //引用的BaseEnum 接口中定义的参数(也可已在自己方法内声明,不调用接口),这里可以根据自己的业务去更改,如果需要添加一个参数,记得在本方法声明或是在baseEnum中声明并在本方法中引入,构造方法和get方法中也别忘掉,不然外部调用会取不到值的
    private int code;
    private String msg;

    //构造方法,外部调用的时候可以直接通过构造方法调用,就不用在声明set方法了
    OrderTypeEnum(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }
    
    //get方法,这里就不解释了
    @Override
    public int getCode() {
        return code;
    }
    @Override
    public String getMsg() {
        return msg;
    }
}

2.创建枚举引用的父类接口:该接口可以不用,定义的参数可以直接在枚举中声明,如果项目中枚举使用比较多,都有共用参数的话使用上比较好

package com.shangze.szxs.common.enums;

/**
 * @Description: 枚举的顶层父类
 */
public interface BaseEnum {
    int getCode();
    String getMsg();
}

3.调用

 public static void main(String[] args) {
        System.out.println(OrderTypeEnum.COURSE_ORDER);//虽然在控制台中打印出来的是‘COURSE_ORDER’,但实际是一个已经赋值code为2,msg为002的一个OrderTypeEnum类
        System.out.println(OrderTypeEnum.COURSE_ORDER.getMsg());//获取当前定义枚举参数中的msg值
        System.out.println(OrderTypeEnum.COURSE_ORDER.getCode());//获取当前定义枚举参数中的code值
    }

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值