`
haibin369
  • 浏览: 60429 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java中enum(枚举)的基本应用

    博客分类:
  • Java
阅读更多

枚举是将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用,常用来表示一组常数。在Java中,除了不能继承自一个enum之外,我们基本上可将enum看作一个常规的类。

 

基本用法:

enum Color {
    BLUE, WHITE, GREEN
}

public class EnumTest {
    public static void main(String[] args) {
        //values()方法返回代表枚举中所有值的数组
        for (Color color : Color.values()) {
            printColor(color);
        }

        //使用valueOf()或者具体名字获取枚举值
        System.out.println(Color.valueOf("BLUE"));
        System.out.println(Color.GREEN);
    }

    public static void printColor(Color color) {
        //name()方法返回枚举的名字
        System.out.print("name: " + color.name());

        //ordinal()方法返回枚举声明的次序
        System.out.print(" ordinal: " + color.ordinal());

        //在switch中使用枚举
        switch (color) {
            case BLUE:
                System.out.println(" RGB code: #0000FF");
                break;
            case WHITE:
                System.out.println(" RGB code: #FFFFFF");
                break;
            case GREEN:
                System.out.println(" RGB code: #008000");
                break;
        }
    }
}

 

 

输出:

name: BLUE ordinal: 0 RGB code: #0000FF
name: WHITE ordinal: 1 RGB code: #FFFFFF
name: GREEN ordinal: 2 RGB code: #008000
BLUE
GREEN

 

 

添加属性,构造函数和方法:

enum Color {
    // 调用构造函数初始化枚举
    // 必须先声明枚举值再声明变量和方法
    // 如果有变量或者方法,则最后一个枚举声明后面必须加分号
    BLUE("#0000FF"),
    WHITE("#FFFFFF"),
    GREEN("#008000");

    private String rgbCode;
    //构造函数,必须为private
    private Color(String rgbCode){
        this.rgbCode = rgbCode;
    }
    // 枚举方法
    public String getRgbCode(){
        return rgbCode;
    }
}
public class EnumTest {
    public static void main(String[] args) {
        for (Color color : Color.values()) {
            printColor(color);
        }
    }

    public static void printColor(Color color) {
        //调用枚举的方法
        System.out.println(color.name() + ": " + color.getRgbCode());
    }
}

 输出:

BLUE: #0000FF
WHITE: #FFFFFF
GREEN: #008000

 

 静态方法,实例方法与重载:

enum Color {
    BLUE {
        //覆盖实例方法
        public String getRGBCode() {
            return "#0000FF";
        }
    },
    WHITE {
        public String getRGBCode() {
            return "#FFFFFF";
        }
    },
    GREEN;

    //实例方法(也可定义抽象方法让具体枚举实现)
    public String getRGBCode() {
        return "Not Defined.";
    }

    //静态方法
    public static String getColorInfo(){
        return "Color: Blue, White, Green.";
    }
}

public class EnumTest {
    public static void main(String[] args) {
        System.out.println(Color.getColorInfo());

        for (Color color : Color.values()) {
            System.out.println(color.name() + ": " + color.getRGBCode());
        }
    }
}

 输出:

Color: Blue, White, Green.
BLUE: #0000FF
WHITE: #FFFFFF
GREEN: Not Defined.

 

 

分享到:
评论

相关推荐

    java enum 枚举 学习资料

    Java Enum 枚举学习资料是 Java 编程语言中的一种特殊类型,它主要用来实现一组固定的常量。 Enum 枚举类型是 Java 5 中引入的一种新特性,旨在解决传统的 int 枚举常量的缺陷。 1. 枚举语法 在 Java 中,枚举类型...

    JAVA高级编程中Enum枚举

    在Java编程语言中,`Enum`(枚举)是一种特殊的类类型,用于定义固定的、预定义的常量集合。它们在程序设计中扮演着重要的角色,特别是在需要表示一组固定值时,如状态、颜色、星期等。本资源包提供了一些关于`Enum`...

    高阶Java-Java枚举类型 enum 应用详解

    在Java编程语言中,枚举(enum)是一种特殊的类,用于定义一组固定的常量。它在许多场景下比使用常量或int类型的硬编码值更安全、更具可读性。本篇文章将深入探讨Java枚举的特性、用法以及如何在实际开发中充分利用...

    Java高新技术_java5的枚举的基本应用

    Java高新技术——Java 5的枚举(Enum)基本应用 在Java编程语言中,枚举是一种特殊的类,用于定义一组预定义的常量。自从Java 5引入枚举类型以来,它已经成为处理固定集合常量的首选方式,因为它提供了比传统整数...

    Java中的Enum枚举用法.doc

    ### Java中的Enum枚举用法详解 #### 一、引言 在Java编程语言中,枚举(Enum)是一种特殊的数据类型,它被用来表示一组固定的常量集合。相比于使用常量接口或字符串来表示固定集合,枚举提供了更加安全且易于管理的...

    java enum 枚举的spring boot2.x完美实现demo源码

    在Spring Boot应用中,枚举可以作为控制器参数、服务方法返回值,甚至在数据库映射中使用。例如,我们可以定义一个使用枚举的实体类: ```java import javax.persistence.Entity; import javax.persistence....

    java enum枚举教程学习资料

    Java枚举(enum)是Java语言提供的一种特殊的数据类型,用于定义一组有限的常量,这些常量在程序中作为固定的值使用。枚举在Java中是类的子类型,因此,它们具备类的一些特性,比如可以有方法、变量以及实现接口。...

    Java中的枚举类型Enum示例源代码

    Java中的枚举类型`Enum`是面向对象编程中一种强大的工具,它允许程序员定义自己的常量集合。在Java中,枚举类型不是简单的常量数组,而是一种完整的类,具有类的所有特性,如方法、构造函数和继承。下面将详细探讨`...

    enum枚举类的应用

    包含了关于枚举类的应用,以及枚举类和接口的组合应用,扩展映射关系。很有用的工具类。

    java中的枚举类型

    Java 中的枚举类型 Java 中的枚举类型是一种特殊的数据类型,它允许我们定义一组命名的常量。枚举类型骨子里是一个类别,所以您编译完成后,会产生一个 `...但是,枚举类型也存在一些缺陷,需要在实际应用中加以考虑。

    全面掌握java枚举类型(enum-type)1

    Java 中使用关键字 enum 来定义一个枚举类型。例如: ```java public enum Season { SPRING, SUMMER, AUTUMN, WINTER; } ``` 特点 Java 定义枚举类型的语句很简约。它有以下特点: 1. 使用关键字 enum 2. 类型...

    Java中枚举的应用.docx

    Java中的枚举是一种特殊的类,它提供了一种安全的方式来表示有限数量的值。枚举在Java中被引入,主要是为了克服常量集(通常用public static final定义)的一些局限性,比如防止非法值的创建,增强类型安全性,并...

    Java Enum使用Demo源码

    在Java编程语言中,枚举(Enum)是一种特殊的类,用于定义固定的常量集合。它在许多场景下比常量接口或静态final变量更安全、更方便。本篇将通过"Java Enum使用Demo源码"深入探讨Java枚举的用法。 首先,枚举在Java...

    Java中的“枚举类型

    在Java编程语言中,枚举(Enum)作为一种特殊的类,其设计初衷是为了更好地处理一组固定不变的常量集合。相较于传统的使用`static final`字段来表示常量的做法,枚举提供了更加丰富的特性和更为严谨的类型安全机制。...

    java 枚举(enum) 详解(学习资料)

    Java 枚举(enum)是 Java 语言中的一个重要特性,自 Java 5 开始引入。枚举用于定义一组相关的常量,这些常量通常代表一个有限的、预定义的值集合。枚举类是一种特殊的类,它具有以下特点: 1. **枚举类的声明**:...

    Java源码查看枚举类型定义.rar

    首先,枚举类型在Java中通过关键字`enum`声明。例如: ```java public enum Color { RED, GREEN, BLUE } ``` 在这个例子中,`Color`是一个枚举类型,包含三个枚举常量:RED、GREEN和BLUE。每个枚举常量都是`Color...

    深入理解 Java 枚举(枚举的方法+枚举的特性+枚举可以实现接口+组织枚举+策略枚举+枚举工具类等)

    Java 枚举是 Java 语言中的一种特殊类型,自 JDK 5 开始引入,使用 enum 关键字修饰。在 Java 中,枚举是一种受限制的类,具有自己的方法。枚举的本质是 java.lang.Enum 的子类,它提供了一些基本方法,如 values()...

    java-enum-mimetype:MIME 类型的 Java 枚举类

    在实际应用中,`MimeType`枚举类可以方便地用于处理文件上传或下载的情况,例如设置HTTP响应头的`Content-Type`字段: ```java HttpServletResponse response = ... MimeType mimeType = MimeType.fromString(...

    Java试题-1:交通灯枚举

    Java试题-1:交通灯枚举 典型的Java面试题 有关于枚举的应用及交通灯枚举的答案

    Java面试枚举从使用到原理

    在Java中,枚举可以通过`enum`关键字来创建。例如,我们可以定义一个表示一周七天的枚举类型: ```java public enum DayOfWeek { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY; } ``` 这个...

Global site tag (gtag.js) - Google Analytics