美文网首页学习笔记
Java枚举类型的使用

Java枚举类型的使用

作者: MyFork | 来源:发表于2020-09-29 15:13 被阅读0次

简易前言

在之前开发C++的时候使用过枚举类型,但也不是很熟练,直到现在写Java对于枚举类型掌握可谓是一塌糊涂,下决心学习这个类型,并能够熟练使用提高开发效率。之前的时候因为一直未使用这种enum枚举,,别人提到枚举的时候下意识地就会记起来自己还不会使用心里总会涌上一股惊慌,很怕别人提问我相关地概念以及使用,是真的插不上话。现在到了项目开发的优化阶段使用枚举能够简化开发的代码样式,项目中真的要使用了,现在认真的学习一下,而且好像真的不是很难。


是什么

[枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。本质就是,一个类里定义几个静态变量,每个变量都是这个类的实例。

为什么

为什么使用枚举类型,因为在项目中使用枚举类型的的时候会显得比较易读,且容易理解代码的功能和逻辑
对应配置信息一般用于配置信息,比如颜色 RED=1、ORANGE=2、YELLOW=3、GREEN=4,这就可以创建一个枚举类型,你可以把数字存储到数据库,在代码里面显示文字描述,这样使得代码易懂。(PS你非得在数据库中存储汉字也行)。
用于错误信息返回:成功=1、失败=-1、部分成功=0,这样你在代码里面写的时候,别人一看就一目了然,你写0、1、-1谁知道什么意思。当然了最终的值还是数字,可是再别人读你程序的时候,看到的是有具体意思的单词。说了这么多,可能还是有点迷惑,下面就是项目中的栗子。

怎么用

要求

编程规约:
阿里巴巴出品的编程规约
[参考]枚举类名建议带上Enum后缀, 枚举成员名称需要全大写, 单词间用下划线隔开。
说明: 枚举其实就是特殊的常量类, 且构造方法被默认和强制是私有。
正例: DealStatusEnum, 成员名称: SUCCESS/UNKOWN_REASON

常见用法

用法一:常量

在JDK1.5 之前,我们定义常量都是: public static final.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。

Java代码

public enum Color {  
  RED, GREEN, BLANK, YELLOW 
} 
用法二:switch

JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。

Java代码

enum Signal {  
    GREEN, YELLOW, RED  
}  

public class TrafficLight {  

    Signal color = Signal.RED;  
    public void change() {  
        switch (color) {  
        case RED:  
            color = Signal.GREEN;  
            break;  
        case YELLOW:  
            color = Signal.RED;  
            break;  
        case GREEN:  
            color = Signal.YELLOW;  
            break;  
        }  
    }  
}  
用法三:向枚举中添加新方法

如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。

而且 Java 要求必须先定义 enum 实例。

Java代码

public enum Color {  
    RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);  
    // 成员变量  
    private String name;  
    private int index;  
    // 构造方法  
    private Color(String name, int index) {  
        this.name = name;  
        this.index = index;  
    }  
    // 普通方法  
    public static String getName(int index) {  
        for (Color c : Color.values()) {  
            if (c.getIndex() == index) {  
                return c.name;  
            }  
        }  
        return null;  
    }  
    // get set 方法  
    public String getName() {  
        return name;  
    }  
    public void setName(String name) {  
        this.name = name;  
    }  
    public int getIndex() {  
        return index;  
    }  
    public void setIndex(int index) {  
        this.index = index;  
    }  
}  
用法四:覆盖枚举的方法

下面给出一个toString()方法覆盖的例子。
Java代码

public enum Color {  
    RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);  
    // 成员变量  
    private String name;  
    private int index;  
    // 构造方法  
    private Color(String name, int index) {  
        this.name = name;  
        this.index = index;  
    }  
    //覆盖方法  
    @Override  
    public String toString() {  
        return this.index+"_"+this.name;  
    }  
} 

相关文章

  • Java中的枚举详解

    定义枚举 JDK1.5引入了一种新的数据类型枚举类型。Java使用关键字enum声明枚举类型,语法格式如下: en...

  • 枚举

    枚举 wiki Java的枚举类型用法介绍 深入理解Java枚举类型(enum) 为什么要用enum? 学习计划 ...

  • Java枚举

    背景 Java枚举类型是java1.5后提出的,解决了使用public static final定义的变量的类型安...

  • Java枚举类型的使用

    简易前言 在之前开发C++的时候使用过枚举类型,但也不是很熟练,直到现在写Java对于枚举类型掌握可谓是一塌糊涂,...

  • Java 枚举类型 enum

    以下使用 JDK 版本为:1.8.0_121 枚举类型的引入 枚举类型是 Java 5 中增加的一个小特性,在此之...

  • Swift 基础笔记 - 枚举

    枚举 OC定义和使用枚举 Swift定义枚举类型 Swift判断枚举类型 枚举成员类型

  • enum(枚举)

    创建枚举类型要使用 enum 关键字,隐含了所创建的类型都是 java.lang.Enum 类的子类(java.l...

  • [Kotlin Tutorials 5] 枚举和Sealed C

    枚举和Sealed Class 枚举 首先, Kotlin和Java一样, 也是有枚举类型的: 枚举类型还可以实现...

  • 深入理解 Java 枚举类型,这篇文章就够了

    枚举是软件开发中使用率非常高的类型。这里针对枚举进行一次深入的讨论,希望对您有所帮助。 枚举的使用 Java 中的...

  • Scala中的枚举

    与java不同,scala并没有提供枚举类型,而是通过Enumeration类的帮助来实现枚举功能的。 使用方法 ...

网友评论

    本文标题:Java枚举类型的使用

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