`

Java6 枚举常见7种用法

    博客分类:
  • J2SE
阅读更多

http://blog.csdn.net/shimiso/article/details/8231344
用法一:常量
在JDK1.5 之前,我们定义常量都是: publicstaticfianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。


Java代码 01.public enum Color {
02.RED, GREEN, BLANK, YELLOW
03.}

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


Java代码 01.enum Signal {
02.GREEN, YELLOW, RED
03.}
04.public class TrafficLight {
05.Signal color = Signal.RED;
06.public void change() {
07.switch (color) {
08.case RED:
09.color = Signal.GREEN;
10.break;
11.case YELLOW:
12.color = Signal.RED;
13.break;
14.case GREEN:
15.color = Signal.YELLOW;
16.break;
17.}
18.}
19.}



用法三:向枚举中添加新方法
如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且 Java 要求必须先定义enum实例。


Java代码 01.public enum Color {
02.RED("红色", 1), GREEN("绿色",2), BLANK("白色",3), YELLO("黄色",4);
03.// 成员变量 04.private String name;
05.private int index;
06.// 构造方法 07.private Color(String name, int index) {
08.this.name = name;
09.this.index = index;
10.}
11.// 普通方法 12.public static String getName(int index) {
13.for (Color c : Color.values()) {
14.if (c.getIndex() == index) {
15.return c.name;
16.}
17.}
18.return null;
19.}
20.// get set 方法 21.public String getName() {
22.return name;
23.}
24.public void setName(String name) {
25.this.name = name;
26.}
27.public int getIndex() {
28.return index;
29.}
30.public void setIndex(int index) {
31.this.index = index;
32.}
33.}



用法四:覆盖枚举的方法
下面给出一个toString()方法覆盖的例子。


Java代码 01.public enum Color {
02.RED("红色", 1), GREEN("绿色",2), BLANK("白色",3), YELLO("黄色",4);
03.// 成员变量 04.private String name;
05.private int index;
06.// 构造方法 07.private Color(String name, int index) {
08.this.name = name;
09.this.index = index;
10.}
11.//覆盖方法 12.@Override13.public String toString() {
14.return this.index+"_"+this.name;
15.}
16.}

用法五:实现接口
所有的枚举都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类。


Java代码 01.public interface Behaviour {
02.void print();
03.String getInfo();
04.}
05.public enum Colorimplements Behaviour{
06.RED("红色", 1), GREEN("绿色",2), BLANK("白色",3), YELLO("黄色",4);
07.// 成员变量 08.private String name;
09.private int index;
10.// 构造方法 11.private Color(String name, int index) {
12.this.name = name;
13.this.index = index;
14.}
15.//接口方法 16.@Override17.public String getInfo() {
18.return this.name;
19.}
20.//接口方法 21.@Override22.public void print() {
23.System.out.println(this.index+":"+this.name);
24.}
25.}

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

Java代码 01.public interface Food {
02.enum Coffee implements Food{
03.BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO
04.}
05.enum Dessert implements Food{
06.FRUIT, CAKE, GELATO
07.}
08.}

用法七:关于枚举集合的使用
java.util.EnumSet和java.util.EnumMap是两个枚举集合。EnumSet保证集合中的元素不重复;EnumMap中的 key是enum类型,而value则可以是任意类型。关于这个两个集合的使用就不在这里赘述,可以参考JDK文档。

关于枚举的实现细节和原理请参考:

参考资料:《ThinkingInJava》第四版

http://softbeta.iteye.com/blog/1185573



Java枚举可以配合JSTL标签和Hibernate等技术组合使用,使用效果将大大增强,代码清晰可维护性高.
分享到:
评论

相关推荐

    Java枚举的七种常见用法.doc

    以下是对标题和描述中提及的Java枚举七种常见用法的详细说明: 1. 常量定义: 在Java中,枚举可以用来组织相关常量,提升代码的可读性和可维护性。例如,我们可以定义一个`Color`枚举,包含`RED`, `GREEN`, `BLANK`...

    java中枚举的使用

    在Java编程语言中,枚举(Enumeration)是一种特殊的类,用于定义一组固定的常量。它在JDK 1.5及以后的版本中被引入,为开发者提供了更安全、更面向对象的方式来处理常量集合。枚举在Java中的使用不仅提高了代码的...

    java枚举ppt和详细代码

    Java枚举可以方便地与集合框架一起使用。枚举类可以继承`EnumSet`或`EnumMap`,这两个类提供了针对枚举的优化操作。例如: ```java EnumSet<Color> colors = EnumSet.allOf(Color.class); ``` 通过学习上述知识...

    Java枚举的七种常见用法总结(必看)

    下面是Java枚举的七种常见用法的详细说明: 1. 常量用法: 在Java中,枚举可以用于组织一组相关的常量。在JDK 1.5之前,我们通常使用`public static final`关键字来定义常量,但这种方式不够灵活。枚举提供了一种...

    JAVA枚举类型的用法详解

    下面我们将深入探讨Java枚举类型的常见用法。 首先,枚举类型在本质上等同于定义了一组静态常量。创建枚举类型的语法如下: ```java public enum Belle { para1, para2, para3, para4; } ``` 这会创建一个名为`...

    Java手动方式创建枚举类示例

    Java手动方式创建枚举类是一种常见的编程方法,在Java中可以使用枚举类型来定义一组具有相同特征的常量。通过手动方式创建枚举类,可以更好地控制枚举类型的行为和特性。在本文中,我们将通过一个实例来介绍Java手动...

    Java枚举(enum) 详解7种常见的用法

    以下将详细介绍7种常见的Java枚举用法: 1. **常量用法**: 在JDK 1.5之前,我们通常使用`public static final`关键字来定义常量。但自从引入枚举后,我们可以将相关联的常量组织到同一个枚举类型中,如`Color {...

    java enum枚举教程学习资料

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

    java枚举的一个例子

    ### Java枚举详解 在Java编程语言中,枚举(`enum`)是一种特殊的类,用于定义一组固定的常量值。这些常量值通常代表了一组预定义的选项或者状态,比如颜色、方向等。使用枚举可以提高代码的可读性和可维护性,并且...

    常用的MIME TYPE类型枚举类Enum整理 静态方法直接检索使用

    全面覆盖:本枚举类内置了广泛使用的MIME类型,从常见的文本、图片、音频到视频格式,应有尽有。 智能检索:提供基于文件扩展名的MIME类型查询方法,只需一行代码即可获取,极大提升了开发效率。 易用性:采用枚举...

    Java枚举类的使用与注解

    Java枚举类是Java语言中一个非常重要的特性,它用于创建固定的、有限数量的类实例。枚举类在很多场景下被用作定义一组相关的常量,提供了比使用静态final变量更安全、更灵活的方式。 一、枚举类的理解: 1. 枚举类...

    Java关于中文乱码问题的多种解决方法

    在Java编程中,中文乱码问题是一个常见的困扰,尤其是在处理文件读写、网络传输或数据库操作时。本文将深入探讨几种解决Java中中文乱码问题的方法,并以MyEclipse为开发环境,结合实际示例进行讲解。 1. 文件读写中...

    通过枚举反向给实体类赋值

    首先,我们需要理解枚举的常见用法。枚举类型定义如下: ```java public enum Color { RED("红色"), GREEN("绿色"), BLUE("蓝色"); private String desc; Color(String desc) { this.desc = desc; } ...

    javaenum(枚举)使用详解+总结.pdf

    下面我们将深入探讨enum的使用方法、特性以及常见的操作。 1. **枚举定义** 创建枚举类型的语法非常简洁,只需使用`enum`关键字,如下所示: ```java public enum Color { RED, GREEN, BLUE } ``` 这里定义...

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

    综上所述,`java enum 枚举的spring boot2.x完美实现demo源码`示例主要展示了如何在Spring Boot 2.x项目中使用枚举类型,包括枚举的定义、属性和方法的添加,以及如何在实际业务场景中应用枚举,如与数据库的交互和...

    Java枚举PPT教案学习.pptx

    Java枚举是编程中一种非常重要的数据类型,它主要用于定义一组固定的、有限的状态或值,通常用来表示一组具有明显意义的常量。在Java中,枚举是在JDK 1.5版本引入的新特性,目的是为了提高代码的可读性和安全性。 ...

    通过表格中数据自动生成枚举和方法(内涵使用教程)

    Excel文件作为一种常见的数据存储格式,可以方便地编辑和组织大量信息。在C#中,我们可以使用诸如`EPPlus`这样的库来读取和操作Excel文件。`EPPlus`允许你轻松地访问Excel工作表,单元格,以及它们的数据。 在获取...

    Java集合、泛型和枚举

    Java集合框架是Java编程语言中不可或缺的一部分,它提供了一种高效、灵活的方式来存储和操作对象。集合、泛型和枚举都是Java开发中常见的...熟练掌握这些概念和它们的使用方法,将极大地提升Java编程的效率和代码质量。

    JAVA可以反编译枚举的反编译工具

    "JAVA可以反编译枚举的反编译工具"这个标题表明我们讨论的是专门针对Java枚举类型的反编译工具。 枚举类型在Java中是一种特殊的类,用于定义一组预定义的常量。它们在代码中广泛用于表示有限集合,如状态、方向或...

Global site tag (gtag.js) - Google Analytics