通用枚举类

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

目录
相关文章
|
9月前
|
设计模式 存储 Java
JavaSE——面向对象高级三(3/5)-枚举(认识枚举、拓展:抽象枚举、用枚举实现单例模式、枚举的应用场景)
JavaSE——面向对象高级三(3/5)-枚举(认识枚举、拓展:抽象枚举、用枚举实现单例模式、枚举的应用场景)
45 0
|
Java 索引
枚举类 - 自定义枚举类与使用enum关键字
枚举类 - 自定义枚举类与使用enum关键字
155 0
|
Java 编译器 C++
常量接口 vs 常量类 vs 枚举区别
把常量定义在接口里与类里都能通过编译,那2者到底有什么区别呢?
105 0
|
设计模式 JSON Java
枚举类——用好枚举真的没有那么简单!
枚举类——用好枚举真的没有那么简单!
123 0
|
存储 JSON 缓存
看看人家在接口中使用枚举类型的方式,那叫一个优雅!上
看看人家在接口中使用枚举类型的方式,那叫一个优雅!上
看看人家在接口中使用枚举类型的方式,那叫一个优雅!上
|
存储 消息中间件 JavaScript
看看人家在接口中使用枚举类型的方式,那叫一个优雅!下
看看人家在接口中使用枚举类型的方式,那叫一个优雅!下
|
图计算 开发者
统一识别_定义类型| 学习笔记
快速学习统一识别_定义类型
实战小技巧15:如何判断类为基础类型or基础类型的包装类
判断一个类是否为基础类型属于常规操作了,一般我们遇到这种case,要怎么处理呢? 一个一个的if/else判断? 还是其他的操作姿势?
1021 0
|
设计模式
使用private构造器 or 枚举的原生语言实现单例
相信接触过设计模式的同学都知道,单例的一种经典实现方式就是private的构造函数,但直到我看到这一章节内容的时候,才突然顿悟原来枚举类型也是可以强化单例属性的,自愧个人的融会贯通能力还有待加强。
|
Java Kotlin 编译器
Kotlin学习(四)—— 类和对象,继承,覆盖,抽象类,属性和字段,接口,可见性修饰符,扩展
一.类和对象 1. 类 Kotlin和java的类的声明都是一样的,用class表示,比如 class TestClass { } 如果是空类的话,大括号都可以省了 2.
1684 0

热门文章

最新文章