枚举是将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用,常用来表示一组常数。在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 5 中引入的一种新特性,旨在解决传统的 int 枚举常量的缺陷。 1. 枚举语法 在 Java 中,枚举类型...
在Java编程语言中,`Enum`(枚举)是一种特殊的类类型,用于定义固定的、预定义的常量集合。它们在程序设计中扮演着重要的角色,特别是在需要表示一组固定值时,如状态、颜色、星期等。本资源包提供了一些关于`Enum`...
在Java编程语言中,枚举(enum)是一种特殊的类,用于定义一组固定的常量。它在许多场景下比使用常量或int类型的硬编码值更安全、更具可读性。本篇文章将深入探讨Java枚举的特性、用法以及如何在实际开发中充分利用...
Java高新技术——Java 5的枚举(Enum)基本应用 在Java编程语言中,枚举是一种特殊的类,用于定义一组预定义的常量。自从Java 5引入枚举类型以来,它已经成为处理固定集合常量的首选方式,因为它提供了比传统整数...
### Java中的Enum枚举用法详解 #### 一、引言 在Java编程语言中,枚举(Enum)是一种特殊的数据类型,它被用来表示一组固定的常量集合。相比于使用常量接口或字符串来表示固定集合,枚举提供了更加安全且易于管理的...
在Spring Boot应用中,枚举可以作为控制器参数、服务方法返回值,甚至在数据库映射中使用。例如,我们可以定义一个使用枚举的实体类: ```java import javax.persistence.Entity; import javax.persistence....
Java枚举(enum)是Java语言提供的一种特殊的数据类型,用于定义一组有限的常量,这些常量在程序中作为固定的值使用。枚举在Java中是类的子类型,因此,它们具备类的一些特性,比如可以有方法、变量以及实现接口。...
Java中的枚举类型`Enum`是面向对象编程中一种强大的工具,它允许程序员定义自己的常量集合。在Java中,枚举类型不是简单的常量数组,而是一种完整的类,具有类的所有特性,如方法、构造函数和继承。下面将详细探讨`...
包含了关于枚举类的应用,以及枚举类和接口的组合应用,扩展映射关系。很有用的工具类。
Java 中的枚举类型 Java 中的枚举类型是一种特殊的数据类型,它允许我们定义一组命名的常量。枚举类型骨子里是一个类别,所以您编译完成后,会产生一个 `...但是,枚举类型也存在一些缺陷,需要在实际应用中加以考虑。
Java 中使用关键字 enum 来定义一个枚举类型。例如: ```java public enum Season { SPRING, SUMMER, AUTUMN, WINTER; } ``` 特点 Java 定义枚举类型的语句很简约。它有以下特点: 1. 使用关键字 enum 2. 类型...
Java中的枚举是一种特殊的类,它提供了一种安全的方式来表示有限数量的值。枚举在Java中被引入,主要是为了克服常量集(通常用public static final定义)的一些局限性,比如防止非法值的创建,增强类型安全性,并...
在Java编程语言中,枚举(Enum)是一种特殊的类,用于定义固定的常量集合。它在许多场景下比常量接口或静态final变量更安全、更方便。本篇将通过"Java Enum使用Demo源码"深入探讨Java枚举的用法。 首先,枚举在Java...
在Java编程语言中,枚举(Enum)作为一种特殊的类,其设计初衷是为了更好地处理一组固定不变的常量集合。相较于传统的使用`static final`字段来表示常量的做法,枚举提供了更加丰富的特性和更为严谨的类型安全机制。...
Java 枚举(enum)是 Java 语言中的一个重要特性,自 Java 5 开始引入。枚举用于定义一组相关的常量,这些常量通常代表一个有限的、预定义的值集合。枚举类是一种特殊的类,它具有以下特点: 1. **枚举类的声明**:...
首先,枚举类型在Java中通过关键字`enum`声明。例如: ```java public enum Color { RED, GREEN, BLUE } ``` 在这个例子中,`Color`是一个枚举类型,包含三个枚举常量:RED、GREEN和BLUE。每个枚举常量都是`Color...
Java 枚举是 Java 语言中的一种特殊类型,自 JDK 5 开始引入,使用 enum 关键字修饰。在 Java 中,枚举是一种受限制的类,具有自己的方法。枚举的本质是 java.lang.Enum 的子类,它提供了一些基本方法,如 values()...
在实际应用中,`MimeType`枚举类可以方便地用于处理文件上传或下载的情况,例如设置HTTP响应头的`Content-Type`字段: ```java HttpServletResponse response = ... MimeType mimeType = MimeType.fromString(...
Java试题-1:交通灯枚举 典型的Java面试题 有关于枚举的应用及交通灯枚举的答案
在本文中,我们将深入探讨枚举的用途、优势以及如何在实际应用中,特别是在操作数据库时使用枚举。 首先,枚举的优势在于它提供了类型安全和封装。当使用枚举时,你可以确保变量只能取预定义的值,从而减少编程错误...