通用枚举类

简介: 本文介绍了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() 方法返回的是当前枚举常量在声明中的位置索引的字符串表示。

目录
相关文章
|
API C#
C#反射与特性(三):反射类型的成员
C#反射与特性(三):反射类型的成员
279 0
|
2月前
|
安全 Python
扩展类实例的类型转换,和关键字 None
扩展类实例的类型转换,和关键字 None
13 0
|
5月前
|
设计模式 存储 Java
JavaSE——面向对象高级三(3/5)-枚举(认识枚举、拓展:抽象枚举、用枚举实现单例模式、枚举的应用场景)
JavaSE——面向对象高级三(3/5)-枚举(认识枚举、拓展:抽象枚举、用枚举实现单例模式、枚举的应用场景)
34 0
|
6月前
|
存储 安全 Java
【Java 枚举】详细介绍枚举的作用以及适用范围
【Java 枚举】详细介绍枚举的作用以及适用范围
107 0
泛型-使用泛型结合工厂方法实现单例模式,以支持类型自定义
泛型-使用泛型结合工厂方法实现单例模式,以支持类型自定义
|
存储 JSON 缓存
看看人家在接口中使用枚举类型的方式,那叫一个优雅!上
看看人家在接口中使用枚举类型的方式,那叫一个优雅!上
看看人家在接口中使用枚举类型的方式,那叫一个优雅!上
|
存储 消息中间件 JavaScript
看看人家在接口中使用枚举类型的方式,那叫一个优雅!下
看看人家在接口中使用枚举类型的方式,那叫一个优雅!下
C#基础访问修饰符概述
C#基础访问修饰符概述
C#反射与特性(四 实例化类型
C#反射与特性(四 实例化类型
282 0
C#反射与特性(四 实例化类型
下一篇
无影云桌面