java枚举类型enum的使用_0溺水的鱼O的专栏-CSDN博客_枚举类型enum用法
通常定义常量方法
我们通常利用public final static 方法定义的代码如下,分别用1 表示红灯,3 表示绿灯,2 表示黄
灯。
package com.csdn.myEnum;
public class Light {
public final static int RED =1;
public final static int GREEN =3;
public final static int YELLOW =2;
}
枚举类型定义常量方法
枚举类型的简单定义方法如下,我们似乎没办法定义每个枚举类型的值。比如我们定义红灯、绿灯
和黄灯的代码可能如下:
public enum Light {
RED , GREEN , YELLOW ;
}
我们只能够表示出红灯、绿灯和黄灯,但是具体的值我们没办法表示出来。别急,既然枚举类型提
供了构造函数,我们可以通过构造函数和覆写toString 方法来实现。首先给Light 枚举类型增加构
造方法,然后每个枚举类型的值通过构造函数传入对应的参数,同时覆写toString 方法,在该方法
中返回从构造函数中传入的参数,改造后的代码如下:
public enum Light {
// 利用构造函数传参
RED (1), GREEN (3), YELLOW (2);
// 定义私有变量
private int nCode ;
// 构造函数,枚举类型只能为私有
private Light( int _nCode) {
this . nCode = _nCode;
}
@Override
public String toString() {
return String.valueOf ( this . nCode );
}
}
java枚举类型 enum基本用法 - 永恒的恒 - 博客园
枚举的使用
public class TestEnum {
enum OrderStatus{
//定义枚举的值
ZERO(0,"已取消"),ONE(1,"待付款"),TWO(2,"已付款"),TREE(3, "取消");
private int state;
private String info;
//构造方法(枚举的构造方法只允许private类型)
private OrderStatus(int state, String info){
this.state = state;
this.info = info;
}
public int getState(){
return state;
}
public String getInfo(){
return info;
}
}
public static void main(String[] args) {
OrderStatus ost = OrderStatus.ONE;
System.out.println(ost.getInfo());
}
}
代码例子:
package com.bmw.domain.enums;
import com.fasterxml.jackson.annotation.JsonFormat;
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum ApiIntegrationType {
ATC(Short.valueOf("0"),"ATC"),
MANUAL(Short.valueOf("1"),"Manual"),
ALL(Short.valueOf("2"),"All");
private Short key;
private String name;
ApiIntegrationType(Short key, String name) {
this.key = key;
this.name = name;
}
public Short getKey() {
return key;
}
public String getName() {
return name;
}
public static ApiIntegrationType fromKey(Short key){
if(key == null){
return null;
}
for(ApiIntegrationType type:ApiIntegrationType.values()){
if(type.getKey().equals(key)){
return type;
}
}
return null;
}
}
if (ApiIntegrationType.ATC.getKey() == detail.getIntegrationType()) {
}
JAVA枚举类型(Enum)的使用_cauchy6317的博客-CSDN博客_java 枚举类型enum用法
public enum SeasonEnum {
//枚举类的实例对象必须在最前面先定义,而且必须每个实例对象都必须维护上chinese成员变量
SPRING("春天"),SUMMER("夏天"),AUMUTN("秋天"),WINTER("冬天");
private String chinese;
//枚举类型的构造函数默认为private,因为枚举类型的初始化要在当前枚举类中完成。
SeasonEnum (String chinese){
this.chinese= chinese;
}
public String getChinese(){
return chinese;
}
}
public class Test{
public static void main(String[] args) {
//直接初始化
SeasonEnum season1 = SeasonEnum.SPRING;
//调用SeasonEnum枚举类的getChinese()方法获取SPRING的中文值
System.out.println(season1.getChinese());
}
}
Java 枚举(enum) 详解7种常见的用法_请叫我大师兄-CSDN博客_enum
通用枚举 | MyBatis-Plus
解决了繁琐的配置,让 mybatis优雅的使用枚举属性!
自3.1.0开始,如果你无需使用原生枚举,可配置默认枚举来省略扫描通用枚举配置 默认枚举配置
升级说明:
3.1.0 以下版本改变了原生默认行为,升级时请将默认枚举设置为EnumOrdinalTypeHandler
影响用户:
实体中使用原生枚举
其他说明:
配置枚举包扫描的时候能提前注册使用注解枚举的缓存
1、声明通用枚举属性
方式一: 使用 @EnumValue 注解枚举属性
package com.baomidou.mybatisplus.samples.enums.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.Getter;
@Getter
public enum GradeEnum {
PRIMARY(1, "小学"),
SEConDORY(2, "中学"),
HIGH(3, "高中");
GradeEnum(int code, String descp) {
this.code = code;
this.descp = descp;
}
@EnumValue
private final int code;
private final String descp;
}
方式二: 枚举属性,实现 IEnum 接口如下:
public enum AgeEnum implements IEnum{ ONE(1, "一岁"), TWO(2, "二岁"), THREE(3, "三岁"); private int value; private String desc; @Override public Integer getValue() { return this.value; } }
实体属性使用枚举类型
public class User {
private String name;
private AgeEnum age;
private GradeEnum grade;
}


