栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java枚举类型enum的使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java枚举类型enum的使用

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;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/318498.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号