广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >java中enum(枚举)的用法详解
  • 632
分享到

java中enum(枚举)的用法详解

java基础javaenum用法 2020-07-20 22:07:47 632人浏览 猪猪侠
摘要

Java Enum原理: public enum Size{ SMALL, MEDIUM, LARGE, EXTRA_LARGE };实际上,这个声明定义的类型是一个类,它刚好有四个实例,在此尽量不要构造新对象。因此,在比较两个枚举类型的值

Java Enum原理:

public enum Size{ SMALL, MEDIUM, LARGE, EXTRA_LARGE };

实际上,这个声明定义的类型是一个类,它刚好有四个实例,在此尽量不要构造新对象。

因此,在比较两个枚举类型的值时,永远不需要调用equals方法,而直接使用"=="就可以了。(equals()方法也是直接使用==, 两者是一样的效果)

相关视频教程推荐:java教学视频

用法一:常量

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

public enum Color {  
  RED, GREEN, BLANK, YELLOW  
}

用法二:switch

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

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 实例。

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()方法覆盖的例子。

public class Test {
    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;
        }
    }

    public static void main(String[] args) {
        System.out.println(Color.RED.toString());
    }
}

用法五:实现接口

所有的枚举都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类。

public interface Behaviour {
    void print();

    String getInfo();
    }

    public enum Color implements Behaviour {
    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 getInfo() {
        return this.name;
    }

    // 接口方法
    @Override
    public void print() {
        System.out.println(this.index + ":" + this.name);
    }
    }

用法六:使用接口组织枚举

public interface Food {
        enum Coffee implements Food {
            BLACK_COFFEE, DECAF_COFFEE, LATTE, CAPPUCCINO
        }

        enum Dessert implements Food {
            FRUIT, CAKE, GELATO
        }
    }

更多相关文章教程请访问:java入门

--结束END--

本文标题: java中enum(枚举)的用法详解

本文链接: https://www.lsjlt.com/news/4391.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java中enum(枚举)的用法详解
    Java Enum原理: public enum Size{ SMALL, MEDIUM, LARGE, EXTRA_LARGE };实际上,这个声明定义的类型是一个类,它刚好有四个实例,在此尽量不要构造新对象。因此,在比较两个枚举类型的值...
    99+
    2020-07-20
    java基础 java enum 用法
  • Java中枚举类enum的values()方法的详解
    Java中枚举类enum的values()方法的详解 简介: 枚举中的一个特殊方法,values(), 在Enum 的 API 文档中也找不到这个方法,当点击values()时,也会跳到本类上。 此方法可以理解为:将枚举类转变为一个枚举类型...
    99+
    2023-08-18
    java 开发语言 jvm
  • java枚举enum和Enum类的使用
    目录一、为什么需要枚举二、枚举介绍三、枚举的实现方式1.自定义枚举 :2.enum关键字 :四、枚举类补充五、关于枚举类的父类——Enum类1.基本介绍 :2...
    99+
    2023-03-02
    java枚举enum java Enum类
  • Java基础之枚举Enum类案例详解
    目录一、文章序言二、代码实践三、面试相关一、文章序言 Java中引用类型:数组、类、接口、枚举、注解 枚举这个既熟悉又陌生的东西具体再哪里可以使用呢? 什么是枚举? 枚举是一个引用...
    99+
    2022-11-12
  • 解读C++中枚举(enum)的使用
    目录前言一、枚举是什么二、使用步骤1.作用域2.隐式类型转换3.显式指定枚举值类型4.指定枚举值的值4.整形显式转换成枚举总结前言 对于开发C++来说,枚举是一个几乎必然用到的功能。...
    99+
    2023-03-06
    C++枚举使用 C++枚举 enum C++枚举
  • java枚举类型enum用法有哪些
    Java中枚举类型(enum)的用法有以下几种:1. 定义枚举类型:使用关键字"enum"定义枚举类型,并在{}内列出枚举常量。``...
    99+
    2023-08-30
    java
  • Java实例讲解枚举enum的实现
    目录一.枚举介绍1.自定义枚举实现(1)示例(2)测试结果2.enum关键字实现枚举(1)示例(2)测试结果3.enum关键字注意事项(1)示例一.枚举介绍 1.枚举是一组常量的集合...
    99+
    2022-11-13
  • Java枚举的使用方法详解
     Java枚举的使用方法详解前言  你代码中的flag和status,都应该用枚举来替代很多人都说,枚举在实际开发中很少用到,甚至就没用到。因为,他们的代码往往是这样子的:public class Constant { ...
    99+
    2023-05-31
    java 枚举 ava
  • Java中枚举类的用法示例详解
    目录1.引入枚举类2.实现枚举类3.枚举类的使用注意事项4.枚举的常用方法5.enum细节1.引入枚举类 Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个...
    99+
    2022-11-13
  • 一文带你了解Python中的枚举(enum)
    使用普通类直接实现枚举 在Python中,枚举和我们在对象中定义的类变量时一样的,每一个类变量就是一个枚举项,访问枚举项的方式为:类名加上类变量,像下面这样: class color...
    99+
    2023-05-15
    Python 枚举 Python enum
  • mysql枚举类型enum的用法是什么
    MySQL的枚举类型(ENUM)是一种数据类型,用于定义一个可以从预定义的取值列表中选择的列。在创建表时,可以使用ENUM来定义列的...
    99+
    2023-08-21
    mysql
  • 怎么在python中使用enum方法比较枚举
    今天就跟大家聊聊有关怎么在python中使用enum方法比较枚举,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数...
    99+
    2023-06-14
  • 一文带你了解Python枚举类enum的使用
    目录简介初试遍历可哈希访问成员唯一枚举值自动枚举值比较运算功能性APIIntEnumIntFlagFlag简介 枚举是与多个唯一常量绑定的一组符号 因为枚举表示的是常量,建议枚举成员...
    99+
    2022-11-11
  • c语言枚举类型enum的用法及应用实例
    目录前言一、枚举的概念二、枚举的几种用法1.直接定义枚举值,然后给普通变量赋值。2.定义带名称的枚举三、定义枚举别名四、枚举有什么用,用在哪里?最后总结:前言 今天跟大家讲一下我在产...
    99+
    2022-11-12
  • 详解Python枚举的定义与用法
    目录1. 枚举的定义2. 枚举取值 3. 迭代器 4. 枚举比较1. 枚举的定义 首先,定义枚举要导入enum模块。枚举定义用class关键字,继承Enum类。用于定义枚举...
    99+
    2023-05-15
    Python枚举 Python枚举定义 Python枚举用法
  • C语言中枚举与联合体的使用方法(enum union)
    目录enum的定义 enum对比#define宏常量的好处 union的定义 联合体大小的计算 联合体配合算大小端的问题 总结enum的定义 枚举顾名思义就是一一列举,把...
    99+
    2022-11-12
  • java中枚举的用法有哪些
    在Java中,枚举(enum)是一种特殊的数据类型,用于定义一组常量。枚举常常用于表示一组相关的常量,例如星期几、月份等。以下是枚举...
    99+
    2023-08-30
    java
  • 详解Python中的枚举类型
    目录什么是枚举类型为什么要使用枚举如何使用枚举从字典创建枚举最后的话你好,我是 征哥,今天分享一下 Python 中的枚举类型,为什么需要枚举类型,及如何使用。 什么是枚举类型 枚举...
    99+
    2022-11-11
  • Android开发笔记之:用Enum(枚举类型)取代整数集的应用详解
    在Android的API中可以发现有很多用整数集来作为参数的地方,先来看一下实例。LinearLayout是大家所熟知的一个UI基本元素,它里面有一个方向的属性,可以通过以下方...
    99+
    2022-06-06
    枚举 enum 枚举类型 android开发 Android
  • 浅谈一下Java中枚举的用法
    目录枚举(enum)定义一个季节的枚举类枚举类values()方法ordinal()方法 valueOf()方法枚举类成员枚举(enum) 枚举是一个被命名的整型常数的集合...
    99+
    2023-05-14
    Java枚举 Java枚举的用法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作