`

java -> 枚举 的基本 使用

    博客分类:
  • java
 
阅读更多

 

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

 

枚举(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 来定义的。

 

 

 

 

分享到:
评论

相关推荐

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

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

    java-1.8.0-openjdk.linux.x86_64

    总之,"java-1.8.0-openjdk.linux.x86_64"是Linux系统上用于开发和运行Java应用的重要软件包,包含了Java开发和运行所需的所有基本组件,支持最新的Java 8特性,并针对64位系统进行了优化。安装和使用这个包,开发者...

    Java软件开发实战 Java基础与案例开发详解 9-7 枚举 共10页.pdf

    - 枚举可以与Java的泛型机制结合使用,以增强其功能性和灵活性。 - 示例代码: ```java public class MyClass<T extends Enum<T>> { private T value; public MyClass(T value) { this.value = value; } ...

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

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

    大学课程讲义-Java基础-枚举&注解.pptx

    在 Java 中,可以使用两种方式来定义枚举:手动实现枚举类和使用 `enum` 关键字定义枚举类。 手动实现枚举类 手动实现枚举类需要遵守以下规则: * 构造器使用 `private` 修饰符。 * 属性使用 `private final` ...

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

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

    Java面试枚举从使用到原理

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

    计算机后端-Java-Java核心基础-第23章 枚举类与注解 15. jdk中4个基本的元注解的使用2.avi

    计算机后端-Java-Java核心基础-第23章 枚举类与注解 15. jdk中4个基本的元注解的使用

    计算机后端-Java-Java核心基础-第23章 枚举类与注解 14. jdk中4个基本的元注解的使用1.avi

    计算机后端-Java-Java核心基础-第23章 枚举类与注解 14. jdk中4个基本的元注解的使用

    java枚举实例代码

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

    实例181 - 遍历枚举接口的元素

    首先,我们需要理解枚举的基本概念。枚举是一种预定义的类,允许我们创建一组相关的值。例如,我们可以定义一个`Color`枚举,包含`RED`、`BLUE`和`GREEN`等颜色常量。枚举类型可以继承接口,这使得它们能够实现特定...

    JAVA:使用枚举

    - Java的枚举类型在运行时具有与基本类型相似的性能,因为它们在内存中被优化以提高效率。 - 枚举对象是单例的,这意味着每个枚举值只创建一次,这有助于节省内存并提高性能。 **Java中的枚举特性** - **枚举...

    java中枚举的使用

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

    计算机后端-Java-Java核心基础-第23章 枚举类与注解 12. JDK内置的三个基本注解.avi

    计算机后端-Java-Java核心基础-第23章 枚举类与注解 12. JDK内置的三个基本注解.avi

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

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

    WeatherBackEnd:用JAVA编写的用于后端测试的自动化项目,用于测试Open Weather API

    天气后端 用JAVA编写的用于后端测试的自动化项目,用于测试Open Weather API 安装 ...枚举->框架枚举 功能->具有Cucumber的BDD的.feature文件 步骤->包含测试步骤的类 支持->测试支持类 BaseTest->用

    day17 java

    创建一个新的Java工程,可以通过菜单栏的File -> New -> Java Project,然后输入工程名称,比如按照学习进度命名(例如day01)。 **Eclipse使用技巧:** 1. **创建Java工程**:通过File -> New -> Java Project,...

    protobuf-java-3.10.0.zip

    - **数据类型**:protobuf支持基本类型(如int32、string、bool等)、枚举、消息(复杂数据结构)、重复字段等。 - **编码规则**:protobuf使用高效的二进制编码方式,比XML或JSON更节省空间。 - **编译器**:protoc...

    Java学习教程-探究JAVA线程状态及转化视频

    在Java中,可以使用`Thread.State`枚举来获取线程的状态,例如`thread.getState()`。此外,`java.lang.Thread`类提供了很多与线程管理相关的静态和实例方法,如`join()`用于等待线程完成,`interrupt()`用于中断线程...

    java中enum枚举的详细用法

    Java中的枚举(enum)类型是在JDK 1.5版本引入的一个强大的特性,它用于定义一组相关的常量。在C/C++等语言中,枚举通常用来表示一组具有固定值的常量集合,但在Java中,枚举不仅限于此,它提供了更多的功能和灵活性...

Global site tag (gtag.js) - Google Analytics