美文网首页
Java 基础之枚举类示例

Java 基础之枚举类示例

作者: Tinyspot | 来源:发表于2024-01-15 10:21 被阅读0次

1. 枚举类

public enum DayEnum {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY,
    ;
}
public enum DayEnum {
    MONDAY("周一"),
    TUESDAY("周二"),
    WEDNESDAY("周三"),
    THURSDAY("周四"),
    FRIDAY("周五"),
    SATURDAY("周六"),
    SUNDAY("周日"),
    ;
    
    private String desc;

    DayEnum(String desc) {
        this.desc = desc;
    }
}
public enum DayEnum {
    MONDAY("Mon", "Monday", "周一"),
    TUESDAY("Tue", "Tuesday", "周二"),
    WEDNESDAY("Wed", "Wednesday", "周三"),
    THURSDAY("Thur", "Thursday", "周四"),
    FRIDAY("Fri", "Friday", "周五"),
    SATURDAY("Sat", "Saturday", "周六"),
    SUNDAY("Sun", "Sunday", "周日"),
    ;

    private String abbr;
    private String code;
    private String desc;

    DayEnum(String abbr, String code, String desc) {
        this.abbr = abbr;
        this.code = code;
        this.desc = desc;
    }

    public static DayEnum getByCode(String code) {
        if (code == null || code.isEmpty()) {
            return null;
        }
        for (DayEnum value : values()) {
            if (value.getCode().equals(code)) {
                return value;
            }
        }
        return null;
    }

    public String getAbbr() {
        return abbr;
    }

    public String getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }
}

2. 获取枚举常量名称

枚举值与枚举名称不一致时,做转换
比如:LOGISTICS_CENTER -- loc_center

@Test
public void transferType() {
    String name = MessageTypeEnum.getNameByCode("loc_center");
    System.out.println(name);
}
public enum MessageTypeEnum {
    TRADE_CENTER("trade_center", "物流中心"),
    LOGISTICS_CENTER("loc_center", "协同中心"),
    ;

    private String code;
    private String desc;

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

    public static MessageTypeEnum getByCode(String code) {
        if (code == null) {
            return null;
        }
        for (MessageTypeEnum value : values()) {
            if (value.getCode().equals(code)) {
                return value;
            }
        }
        return null;
    }

    /**
     * 返回枚举名称
     */
    public static String getNameByCode(String code) {
        if (code == null || code.isEmpty()) {
            return code;
        }
        for (MessageTypeEnum value : values()) {
            if (value.getCode().equals(code)) {
                return value.name();
            }
        }
        return code;
    }

    public String getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }
}

相关文章

  • ##Java学习笔记之基础类库笔记

    Java学习笔记之基础类库笔记 Object 所有类,数组,枚举类的父类 Objects(Java7新增) 工具类...

  • java基础之枚举类

    1.枚举是指将变量的值一一列出来,可以称为『数据集』。 举例:一周只有7天,一年只有12个月,一年有四个季节等。...

  • MongoDB Java基本操作

    示例包含2个类文件, 1个操作枚举,1个帮助类. Maven 引用 枚举 帮助类 使用示例

  • 枚举

    枚举 [TOC] java.lang.Enum 类 如果没有显式地声明基础类型的枚举,那么意味着它所对应的基础类型...

  • 学习路线

    Java Se基础 Java基础语法、数组、类与对象、继承与多态、异常、范型、集合、流与文件、反射、枚举、自动装箱...

  • JAVA基础篇26:实际项目中对Exception的装饰&使用

    定义业务异常类: 异常枚举类: 工具类: 使用方式: 相关文章 JAVA基础篇(2)-异常[https://www...

  • Java中的Enum的使用与分析

    示例 Java中枚举实现的分析:示例: 显然,enum很像特殊的class,实际上enum声明定义的类型就是一个类...

  • 枚举学习

    java enum枚举类 enum(枚举)类介绍 **java枚举类是一组预定义常量的集合,使用enum关键字声明...

  • [Java] Java自定义枚举常量后括号的作用

    Java核心技术Ⅰ中提到了枚举类自定义分方法,在示例代码中,定义enum Size类代码如下 ​ 这里出现了一...

  • Java基础--Enum(枚举类)

    前言:该博客主要是记录自己学习的过程,方便以后查看,当然也希望能够帮到大家。 1. 为什么要引入枚举类 一个小案例...

网友评论

      本文标题:Java 基础之枚举类示例

      本文链接:https://www.haomeiwen.com/subject/oxqhodtx.html