`
Admin_king
  • 浏览: 4613 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java枚举基础 讲解

阅读更多
      JDK1.5引入了新的类型--枚举。它虽然只能算是个“小”功能,却给我的开发带来了“大”方便。例如我在开发过程中遇到了一些小问题,如何能更快地使用一些常量,这时候枚举的优势就全显现了.
用法一:常量

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


Java代码
` public enum Color { 
      RED, GREEN, BLANK, YELLOW 
    }  `
  


用法二:switch

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


Java代码
` 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 实例。


Java代码

    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()方法覆盖的例子。


Java代码

    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 不支持多继承,所以枚举对象不能再继承其他类。


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); 
        } 
    } 


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


Java代码

    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文档。


0
0
分享到:
评论

相关推荐

    JAVA_枚举讲解

    Java 枚举是一种特殊的类,用于定义一组常量。在Java中,枚举类型是一种强大的工具,它不仅可以存储常量值,还可以具有方法和行为。枚举在编程中被广泛用于表示固定数量的已知值,例如一周的天数、颜色、季节等。 ...

    枚举完整讲解实例

    ### 枚举完整讲解实例 #### 一、引言与问题背景 在软件开发中,我们经常遇到需要限制变量取值的情况。例如,在一个学生管理系统中,我们需要存储学生的考试等级,该等级只能是“A”、“B”、“C”、“D”或“E”。...

    Java编程基础教程:枚举与泛型的深入讲解

    适用人群:适用于具有一定Java编程基础的学习者和开发者,特别推荐给希望深入了解Java核心技术的专业人士。 使用场景及目标:本文旨在提升读者对于Java中枚举和泛型的理解与应用能力,包括掌握如何高效地定义和使用...

    Java的基础讲解和面向对象分析

    总之,Java的基础讲解和面向对象分析是开发者必须掌握的基础知识,这将为他们未来的学习和发展奠定坚实的基础。通过不断练习和实践,初学者可以逐渐精通这个强大的编程语言,进而创造出更多优秀的软件产品。

    mybatis入门实战之枚举类型

    本文将深入探讨在MyBatis中如何使用枚举类型,并通过实际的项目"mybatis入门实战之枚举类型"进行讲解。这个项目提供了一个简单的demo,非常适合初学者了解并实践MyBatis的TypeHandler机制。 首先,我们要明白枚举...

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

    本文将深入探讨几种解决Java中中文乱码问题的方法,并以MyEclipse为开发环境,结合实际示例进行讲解。 1. 文件读写中的乱码: 当Java程序读取或写入包含中文字符的文件时,需要设置正确的字符编码。例如,使用`...

    Java基础案例教程(第2版)-教学设计.zip

    接着,教程会深入讲解Java语法基础,包括数据类型(基本类型与引用类型)、变量、常量、运算符、流程控制语句(如if-else、switch、for、while等)。这些知识点是构建任何程序的基础,理解和熟练运用它们是成为合格...

    java枚举的使用示例

    以下将详细讲解 Java 枚举的使用: 1. **枚举定义**: 在 Java 中,枚举是通过 `enum` 关键字来定义的。例如,`WeekDay` 是一个枚举类型,包含了 `SAT`, `MON`, `TUE`, `WED`, `THU`, `FRI`, 和 `SAT` 这些枚举值...

    Java基础教程PPT

    然后,PPT将深入讲解Java语法基础,这通常包括变量、数据类型(包括基本类型和引用类型)、运算符、流程控制(如if语句、switch语句、for循环、while循环)和方法定义。还会涵盖类和对象的概念,这是面向对象编程的...

    JAVA枚举与设计模式PPT教案学习.pptx

    Java中的枚举是一种强大的工具,它允许...总结来说,这个PPT教案深入浅出地介绍了Java枚举的特性以及如何利用枚举实现设计模式,尤其是单例模式,同时也展示了枚举在增强类型安全性、简化代码以及在模式中的应用价值。

    java基础学习课件ppt

    Java基础学习课件PPT是一套全面覆盖Java SE(标准版)基础知识的教育资源,适合初学者和希望巩固Java技能的开发者。这套课件旨在在一个月内帮助学习者掌握Java编程的核心概念,为深入学习和应用Java技术打下坚实的...

    java enum枚举教程学习资料

    下面我们将深入讲解Java枚举的相关知识点。 首先,创建枚举的基本语法如下: ```java public enum EnumName { Element1, Element2, Element3; } ``` 在这个例子中,`EnumName`是枚举的名称,`Element1`, `...

    java基础资料

    12. **枚举类型**:Java 5引入了枚举,用于定义一组固定的常量。 13. **泛型**:泛型允许在类、接口和方法中使用类型参数,增强了代码的类型安全性和重用性。 14. **Java SE (标准版)**:"老王java se"可能是指...

    本仓库记录了我的Java学习进阶之路,涵盖了Java基础、JDK源码、JVM中的重要知识,附有代码和博客讲解,旨在提供一个Java在线共享学习平台,帮助更多的Java学习入门者进阶 .zip

    代码目录Java基础包括枚举、范型、引用、动态代理的方式JNA演示了JNA的基本用法,使用Java调用C++代码。作者目录Java基础Java基础学习(1)——引用Java基础学习(2)——注解Java基础学习(3)——泛型Java基础学习(4)...

    Java语言基础pdf电子书

    3. **语法基础**:讲解Java的基本语法,如变量、数据类型(包括基本类型和引用类型)、运算符、控制结构(如if语句、for循环、while循环)、分支与循环的使用。 4. **类与对象**:深入理解面向对象编程的基本概念,...

    Java基础教程完整版

    本章节主要讲解Java面向对象的其他概念,包括抽象类、接口、内部类、枚举类。抽象类是一种特殊的类,不能被实例化,用于定义一些公用的方法和变量。接口是一种特殊的抽象类,用于定义一些公用的方法和变量,且必须被...

    IBM-ETP-java培训11.Java 常用类讲解2.ppt

    IBM-ETP(IBM Education Training Program)提供的"Java 常用类讲解2"培训课程,显然是为了帮助开发者深入理解Java的核心类库,提高编程效率。在这个部分,我们将详细探讨Java中的常用类,以及它们在实际开发中的...

    Java基础(通过代码注释讲解)

    本资源将涵盖 Java 的基础知识点,通过代码和注释的方式进行讲解。 一、JDK 配置及验证 * JDK(Java Development Kit)的安装和配置 * JDK 的版本管理和升级 * Java runtime environment(JRE)的配置 * Java 代码...

    JAVA基础PPT下载

    14. **枚举与注解**:枚举类型在Java中的使用,以及注解(Annotation)的作用和创建自定义注解。 15. **Java标准库API**:介绍一些常用的Java库,如Collections、IO、Net等,以及如何查阅API文档。 这个PPT教程...

    由浅入深学Java—基础、进阶与必做260题.pdf

    2. **Java语法**:讲解基本的Java编程语句,包括变量声明、数据类型、运算符、流程控制(如if-else,switch,循环)、数组以及方法。 3. **类与对象**:深入理解面向对象编程的基本概念,包括类的定义、对象的创建...

Global site tag (gtag.js) - Google Analytics