通用枚举类

简介: 本文介绍了Java中枚举类的两种常见用法。场景一展示了一个包含类型值的枚举`OperatorType`,通过构造函数设置类型并在`enumOf`方法中按值查找枚举常量。场景二的`EnableCheck`枚举使用`ordinal()`方法获取枚举常量的序号(默认从0开始),并转化为字符串返回,提供了`getValue()`方法以获取序号的字符串表示。

在项目中有时需要用到枚举类,下面就简单介绍下常用的几种写法

1、场景一

  • 调用:OperatorType.USER.getType()
public enum OperatorType {
   

    USER("1"),

    ROLE("2"),

    CUSTOMER("3");

    private final String type;

    OperatorType(String type) {
   
        this.type = type;
    }

    public String getType() {
   
        return type;
    }

    public static OperatorType enumOf(String type) {
   
        for (OperatorType operatorType : values()) {
   
            if (operatorType.getType().equals(type)) {
   
                return operatorType;
            }
        }
        return null;
    }
}

2、场景二

public enum EnableCheck {
   

    DISABLE,

    ENABLE;

    public String getValue() {
   
        return String.valueOf(this.ordinal());
    }
}
  • ordinal() 方法是Enum类中的一个方法,用于返回枚举常量的序数,即它在枚举声明中的位置索引。默认情况下,第一个枚举常量的序数为 0,第二个为 1。

  • this.ordinal() 返回当前枚举常量的序数,然后通过 String.valueOf() 方法将其转换为字符串。getValue() 方法返回的是当前枚举常量在声明中的位置索引的字符串表示。

目录
相关文章
泛型-使用泛型结合工厂方法实现单例模式,以支持类型自定义
泛型-使用泛型结合工厂方法实现单例模式,以支持类型自定义
|
Java 编译器 C++
常量接口 vs 常量类 vs 枚举区别
把常量定义在接口里与类里都能通过编译,那2者到底有什么区别呢?
92 0
|
Java 编译器 数据库
Java维护常量方式的比较——接口、常量类与枚举
Java维护常量方式的比较——接口、常量类与枚举 一、示例 ​ 1.让类实现定义了常量的接口
|
存储 JSON 缓存
看看人家在接口中使用枚举类型的方式,那叫一个优雅!上
看看人家在接口中使用枚举类型的方式,那叫一个优雅!上
看看人家在接口中使用枚举类型的方式,那叫一个优雅!上
|
存储 消息中间件 JavaScript
看看人家在接口中使用枚举类型的方式,那叫一个优雅!下
看看人家在接口中使用枚举类型的方式,那叫一个优雅!下
|
安全 Java 容器
Java泛型(1)--集合使用泛型Generic、自定义泛型、泛型在继承上的体现、通配符的使用
Java泛型(1)--集合使用泛型Generic、自定义泛型、泛型在继承上的体现、通配符的使用
188 0
Java泛型(1)--集合使用泛型Generic、自定义泛型、泛型在继承上的体现、通配符的使用
C#编程-103:自定义泛型类
C#编程-103:自定义泛型类
C#编程-103:自定义泛型类
|
Java
Java泛型04:自定义泛型类的使用
Java泛型04:自定义泛型类的使用
174 0
|
Java Kotlin 编译器
Kotlin学习(四)—— 类和对象,继承,覆盖,抽象类,属性和字段,接口,可见性修饰符,扩展
一.类和对象 1. 类 Kotlin和java的类的声明都是一样的,用class表示,比如 class TestClass { } 如果是空类的话,大括号都可以省了 2.
1678 0