`

JAVA枚举类的基本使用

阅读更多

枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。

 

1、常量的使用 

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

1
2
3
4
5
6
7
package com;
 
public enum Color {
     
     RED, GREEN, BLANK, YELLOW 
 
}

  使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package com;
 
public class B {
 
    public static void main(String[] args) {
 
 
        System.out.println( isRed( Color.BLANK ) ) ;  //结果: false
        System.out.println( isRed( Color.RED ) ) ;    //结果: true
 
    }
 
 
    static boolean isRed( Color color ){
        if ( Color.RED.equals( color )) {
            return true ;
        }
        return false ;
    }
 
}

  或者 switch 的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package com;
 
public class B {
 
    public static void main(String[] args) {
 
        showColor( Color.RED );
 
    }
 
    static void showColor(Color color){
        switch ( color ) {
        case BLANK:
            System.out.println( color );
            break;
        case RED :
            System.out.println( color );
            break;
        default:
            System.out.println( color );
            break;
        }
         
    }
}

  

2、自定义函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package com;
 
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 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;
    }
     
 
}

  使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com;
 
public class B {
 
    public static void main(String[] args) {
 
        //输出某一枚举的值
        System.out.println( Color.RED.getName() );
        System.out.println( Color.RED.getIndex() );
 
        //遍历所有的枚举
        for( Color color : Color.values()){
            System.out.println( color + "  name: " + color.getName() + "  index: " + color.getIndex() );
        }
    }
 
}

  结果

红色
1
RED name: 红色 index: 1
GREEN name: 绿色 index: 2
BLANK name: 白色 index: 3
YELLO name: 黄色 index: 4

 

总结:

1、枚举的本质是类,在没有枚举之前,仍然可以按照java最基本的编程手段来解决需要用到枚举的地方。枚举屏蔽了枚举值的类型信息,不像在用public static final定义变量必须指定类型。枚举是用来构建常量数据结构的模板,这个模板可扩展。枚举的使用增强了程序的健壮性,比如在引用一个不存在的枚举值的时候,编译器会报错。枚举的更多用法还需要在开发中去研究创造,Java5、Java6增加了不少新的特性,技术在升级,对程序员来说就要学习,如果你热爱java的话。否则别人用到新特性的代码你看不懂,那才叫郁闷。

2、枚举在Java家族中只占了很小的一块比重,所以我在项目中用枚举的地方不是很多,毕竟,一个项目是很多人开发维护的,用一个陌生的东西,会给其他的同事造成阅读困难。所以常量大都是用public static final 来定义的。

 

出自:http://www.cnblogs.com/zhaoyanjun/p/5659811.html

分享到:
评论

相关推荐

    java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名

    首先,让我们理解枚举类的基本概念。枚举类在Java中用于定义一组相关的固定数量的值,这些值通常代表常量。例如: ```java public enum Color { RED, GREEN, BLUE } ``` 在这个例子中,`Color`枚举定义了三个常量...

    java枚举实例代码

    Java枚举(enum)是Java语言中的一种特殊数据类型,用于定义一组有限的常量,这些常量在程序中作为固定的值使用。枚举在Java中被引入,目的是为了更好地管理和使用常量,提高代码的可读性和安全性。在本实例代码中,...

    枚举类实现单例,并且解决序列化给前端展示的问题.zip

    代码中包含枚举类的基本使用,和完整的请求示例。 主要实现了枚举类创建单例后,将结果返回给前端。 看过一些其他人的实现,都比较麻烦。这是结合一些博主的代码,摸索出来的比较方便的方案。 缺点就是 多线程下会...

    Java面试枚举从使用到原理

    本篇文章将深入探讨Java枚举的使用及其背后的原理。 一、枚举的定义与使用 1. 基本用法: 在Java中,枚举可以通过`enum`关键字来创建。例如,我们可以定义一个表示一周七天的枚举类型: ```java public enum ...

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

    本篇文章将深入探讨Java 5中的枚举基本应用,包括创建枚举、枚举方法、枚举实例以及枚举与switch语句的结合使用。 1. 创建枚举: 要创建枚举,我们需要使用`enum`关键字,后跟枚举名和一对大括号,其中包含枚举值...

    理解java枚举类型

    Java枚举类型是Java语言中的一种特殊的类,用于定义一组固定的常量集合。它在Java中扮演着重要的角色,提供了一种安全、类型化的常量表示方式,比传统的final static变量更具有优势。理解Java枚举类型对于编写高质量...

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

    本篇文章将深入探讨Java枚举的特性、用法以及如何在实际开发中充分利用它们。 一、枚举的基本用法 1. 声明枚举类型: ```java public enum Color { RED, GREEN, BLUE } ``` 在这里,`Color`是枚举类型,`RED`, `...

    java枚举类的构造函数实例详解

    "java枚举类的构造函数实例详解" Java 枚举类是 Java 语言的一种特殊类型,它可以定义一组固定的常量。枚举类的构造函数是枚举类的核心,它决定了枚举类的行为和特性。在本文中,我们将详细介绍 Java 枚举类的构造...

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

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

    java中枚举的使用

    枚举在Java中的使用不仅提高了代码的可读性和可维护性,还避免了传统常量类的一些潜在问题,如类型安全和非法实例化。 首先,我们来看枚举的基本定义。枚举类型的声明类似于类的声明,但用关键字`enum`开头。例如:...

    说说Java中的枚举 转 可以了,够了 包括EnumSet(Map)

    这篇博客将深入探讨Java枚举的特性和使用方法,包括`EnumSet`和`EnumMap`这两个与枚举相关的数据结构。 首先,枚举定义的基本语法是`public enum EnumName {constant1, constant2, ...}`。每个枚举常量都是`...

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

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

    502.500.JAVA基础教程_枚举类与注解-使用enum关键字定义的枚举类实现接口(502).rar

    总结来说,Java中的枚举类是一种强大的工具,可以用来定义固定集合的常量,并且可以实现接口和使用注解来增强功能。通过学习和熟练掌握枚举类的使用,开发者可以编写出更加清晰、可维护的代码。

    枚举类型的使用

    声明枚举结构数组的基本语法如下: ```csharp WeekDays[] weekPlan = new WeekDays[7]; ``` 数组初始化时,可以逐个赋值,也可以使用花括号一次性赋值: ```csharp weekPlan = new WeekDays[] { WeekDays.Monday,...

    java中enum枚举的详细用法

    尽管枚举类不能被继承,但每个枚举类型都隐式地继承了`java.lang.Enum`类,这意味着它们可以实现接口并提供具体实现。这使得枚举可以具有多态行为。 6. 枚举的序列化 默认情况下,枚举是可序列化的。如果不需要...

    JAVA高级编程中Enum枚举

    首先,枚举的基本语法是定义一个公共类,前面加上关键字`enum`。例如: ```java public enum Color { RED, GREEN, BLUE } ``` 在这个例子中,`Color`是一个枚举类型,`RED`, `GREEN`, `BLUE`是该枚举类型的三个...

    Java枚举数据类型.doc

    Java枚举类型是Java语言从1.5版本开始引入的一种强类型、安全且具有固定数量值的数据类型。在引入枚举之前,开发人员通常使用`public final static`整型常量或者字符串常量来模拟枚举的行为,但这存在类型安全性和...

    java enum枚举教程学习资料

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

    Java 基础枚举.pdf

    使用Java枚举可以帮助我们有效地组织常量,并将其用于多种场景,提高代码的易用性和可重用性。 如何使用Java枚举? 在Java中,定义枚举使用enum关键字,其基本语法结构如下: 其中,EnumName表示枚举类型的名称,...

Global site tag (gtag.js) - Google Analytics