DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。
用法一:常量
在JDK1.5 之前,我们定义常量都是: publicstaticfianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
- 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 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.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.util.EnumSet和java.util.EnumMap是两个枚举集合。EnumSet保证集合中的元素不重复;EnumMap中的 key是enum类型,而value则可以是任意类型。关于这个两个集合的使用就不在这里赘述,可以参考JDK文档。
关于枚举的实现细节和原理请参考:
参考资料:《ThinkingInJava》第四版
相关推荐
以下是对标题和描述中提及的Java枚举七种常见用法的详细说明: 1. 常量定义: 在Java中,枚举可以用来组织相关常量,提升代码的可读性和可维护性。例如,我们可以定义一个`Color`枚举,包含`RED`, `GREEN`, `BLANK`...
下面我们将深入探讨Java枚举类型的常见用法。 首先,枚举类型在本质上等同于定义了一组静态常量。创建枚举类型的语法如下: ```java public enum Belle { para1, para2, para3, para4; } ``` 这会创建一个名为`...
下面是Java枚举的七种常见用法的详细说明: 1. 常量用法: 在Java中,枚举可以用于组织一组相关的常量。在JDK 1.5之前,我们通常使用`public static final`关键字来定义常量,但这种方式不够灵活。枚举提供了一种...
Java枚举可以方便地与集合框架一起使用。枚举类可以继承`EnumSet`或`EnumMap`,这两个类提供了针对枚举的优化操作。例如: ```java EnumSet<Color> colors = EnumSet.allOf(Color.class); ``` 通过学习上述知识...
以下将详细介绍7种常见的Java枚举用法: 1. **常量用法**: 在JDK 1.5之前,我们通常使用`public static final`关键字来定义常量。但自从引入枚举后,我们可以将相关联的常量组织到同一个枚举类型中,如`Color {...
在Java编程语言中,枚举(Enumeration)是一种特殊的类,用于定义一组固定的常量。它在JDK 1.5及以后的版本中被引入,为开发者提供了更安全、更面向对象的方式来处理常量集合。枚举在Java中的使用不仅提高了代码的...
### Java枚举详解 在Java编程语言中,枚举(`enum`)是一种特殊的类,用于定义一组固定的常量值。这些常量值通常代表了一组预定义的选项或者状态,比如颜色、方向等。使用枚举可以提高代码的可读性和可维护性,并且...
Java手动方式创建枚举类是一种常见的编程方法,在Java中可以使用枚举类型来定义一组具有相同特征的常量。通过手动方式创建枚举类,可以更好地控制枚举类型的行为和特性。在本文中,我们将通过一个实例来介绍Java手动...
Java枚举类是Java语言中一个非常重要的特性,它用于创建固定的、有限数量的类实例。枚举类在很多场景下被用作定义一组相关的常量,提供了比使用静态final变量更安全、更灵活的方式。 一、枚举类的理解: 1. 枚举类...
本文将深入探讨几种解决Java中中文乱码问题的方法,并以MyEclipse为开发环境,结合实际示例进行讲解。 1. 文件读写中的乱码: 当Java程序读取或写入包含中文字符的文件时,需要设置正确的字符编码。例如,使用`...
首先,我们需要理解枚举的常见用法。枚举类型定义如下: ```java public enum Color { RED("红色"), GREEN("绿色"), BLUE("蓝色"); private String desc; Color(String desc) { this.desc = desc; } ...
Java枚举是编程中一种非常重要的数据类型,它主要用于定义一组固定的、有限的状态或值,通常用来表示一组具有明显意义的常量。在Java中,枚举是在JDK 1.5版本引入的新特性,目的是为了提高代码的可读性和安全性。 ...
全面覆盖:本枚举类内置了广泛使用的MIME类型,从常见的文本、图片、音频到视频格式,应有尽有。 智能检索:提供基于文件扩展名的MIME类型查询方法,只需一行代码即可获取,极大提升了开发效率。 易用性:采用枚举...
Java枚举(enum)是Java语言提供的一种特殊的数据类型,用于定义一组有限的常量,这些常量在程序中作为固定的值使用。枚举在Java中是类的子类型,因此,它们具备类的一些特性,比如可以有方法、变量以及实现接口。...
Excel文件作为一种常见的数据存储格式,可以方便地编辑和组织大量信息。在C#中,我们可以使用诸如`EPPlus`这样的库来读取和操作Excel文件。`EPPlus`允许你轻松地访问Excel工作表,单元格,以及它们的数据。 在获取...
下面我们将深入探讨enum的使用方法、特性以及常见的操作。 1. **枚举定义** 创建枚举类型的语法非常简洁,只需使用`enum`关键字,如下所示: ```java public enum Color { RED, GREEN, BLUE } ``` 这里定义...
Java集合框架是Java编程语言中不可或缺的一部分,它提供了一种高效、灵活的方式来存储和操作对象。集合、泛型和枚举都是Java开发中常见的...熟练掌握这些概念和它们的使用方法,将极大地提升Java编程的效率和代码质量。
"JAVA可以反编译枚举的反编译工具"这个标题表明我们讨论的是专门针对Java枚举类型的反编译工具。 枚举类型在Java中是一种特殊的类,用于定义一组预定义的常量。它们在代码中广泛用于表示有限集合,如状态、方向或...
### 枚举类型在switch语句中的用法 在编程语言中,枚举(Enum)是一种数据类型,它由一组固定的常量组成,通常用于表示有限的预定义值集。枚举类型的使用可以让代码更加清晰易读,并且有助于减少错误的发生。在本篇...
综上所述,`java enum 枚举的spring boot2.x完美实现demo源码`示例主要展示了如何在Spring Boot 2.x项目中使用枚举类型,包括枚举的定义、属性和方法的添加,以及如何在实际业务场景中应用枚举,如与数据库的交互和...