JAVA枚举

概述【理解】

为了间接的表示一些固定的值,Java就给我们提供了枚举
是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内

定义格式【应用】

  • 格式

    public enum s {   枚举项1,枚举项2,枚举项3;
    }
    注意: 定义枚举类要用关键字enum
    
  • 示例代码

    package com.javaqian;
    /*** 定义一个枚举类用来表示颜色*/
    public enum Color {RED,GREEN,YELLOW,BLUE,orange;
    }

枚举的特点【理解】

  • 特点

    • 所有枚举类都是Enum的子类

    • 我们可以通过"枚举类名.枚举项名称"去访问指定的枚举项

    • 每一个枚举项其实就是该枚举的一个对象

    • 枚举也是一个类,也可以去定义成员变量

    • 枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略

    • 枚举类可以有构造器,但必须是private的,它默认的也是private的。

      枚举项的用法比较特殊:枚举("");

    • 枚举类也可以有抽象方法,但是枚举项必须重写该方法

  • 示例代码

    package com.javaqian;/*** 定义一个枚举类用来表示颜色*/
    public enum Color {RED("红色"){//如果枚举类中有抽象方法//那么在枚举项中必须要全部重写@Overridepublic void draw() {System.out.println("this is red");}},GREEN {@Overridepublic void draw() {System.out.println("this is green");}},YELLOW {@Overridepublic void draw() {System.out.println("this is yellow");}},BLUE {@Overridepublic void draw() {System.out.println("this is blue");}},ORANGE {@Overridepublic void draw() {System.out.println("this is orange");}};//定义成员变量public String name;//空参构造private Color() {}//有参构造private Color(String name) {this.name=name;}//抽象方法public abstract void draw();
    }
    
    package com.javaqian;   public class EnumDemo {public static void main(String[] args) {/*1.所有枚举类都是Enum的子类2.我们可以通过"枚举类名.枚举项名称"去访问指定的枚举项3.每一个枚举项其实就是该枚举的一个对象4.枚举也是一个类,也可以去定义成员变量5.枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略6.枚举类可以有构造器,但必须是private的,它默认的也是private的。枚举项的用法比较特殊:枚举("");7.枚举类也可以有抽象方法,但是枚举项必须重写该方法*///第二个特点的演示//我们可以通过"枚举类名.枚举项名称"去访问指定的枚举项System.out.println(Color.RED);System.out.println(Color.BLUE);System.out.println(Color.YELLOW);System.out.println(Color.ORANGE);System.out.println(Color.GREEN);//第三个特点的演示//每一个枚举项其实就是该枚举的一个对象Color yellow = Color.YELLOW;System.out.println(yellow);}
    }

枚举的方法【应用】

  • 方法介绍

    方法名 说明
    String name() 获取枚举项的名称
    int ordinal() 返回枚举项在枚举类中的索引值
    int compareTo(E o) 比较两个枚举项,返回的是索引值的差值
    String toString() 返回枚举常量的名称
    static T valueOf(Class type,String name) 获取指定枚举类中的指定名称的枚举值
    values() 获得所有的枚举项
  • 示例代码

    package com.javaqian;import com.sun.media.sound.SoftTuning;public class EnumDemo1 {public static void main(String[] args) {//        String name() 获取枚举项的名称String name = Color.YELLOW.name();System.out.println(name);System.out.println("---------------------");//        int ordinal() 返回枚举项在枚举类中的索引值int ordinal = Color.YELLOW.ordinal();int ordinal1 = Color.GREEN.ordinal();System.out.println(ordinal);System.out.println(ordinal1);System.out.println("----------------------");//        int compareTo(E o) 比较两个枚举项,返回的是索引值的差值int i = Color.RED.compareTo(Color.BLUE);System.out.println(i);System.out.println("---------------------");//        String toString()   返回枚举常量的名称String string = Color.ORANGE.toString();System.out.println(string);System.out.println("-----------------------");//        static <T> T valueOf(Class<T> type,String name)//        获取指定枚举类中的指定名称的枚举值Color blue = Enum.valueOf(Color.class, "BLUE");System.out.println(blue);System.out.println(Color.BLUE==blue);System.out.println("------------------------");//        values()       获得所有的枚举项Color[] values = Color.values();for (Color value : values) {System.out.println(value);}}
    }
    
  • 运行结果图

JAVA中枚举是什么相关推荐

  1. Java中枚举的线程安全性及序列化问题

    转载自  Java中枚举的线程安全性及序列化问题 Java SE5提供了一种新的类型-Java的枚举类型,关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序 ...

  2. java基础----Java中枚举的使用(一)

    这里介绍一下java中关于枚举的使用. java中枚举的使用 一.枚举中可以定义方法 参照于TimeUnit的使用,TimeUnit.MILLISECONDS.sleep(1000); LoveUti ...

  3. 19、java中枚举

    枚举是什么? 枚举就是将一个有限集合中的所有元素列举出来,在java中使用可以使用enum关键字来声明一个枚举类. 为什么使用枚举? 之前当用到一些常量时,便临时声明一个,这样使得代码看起来很乱,这里 ...

  4. java中枚举表示数据状态

    文章目录 1 场景 2 步骤 2.1 直接使用 2.1.1 优点 2.1.2 缺点 2.2 静态常量 2.2.1 优点 2.2.2 缺点 2.3 枚举 2.3.1 优点 2.3.2 缺点 2.4 枚举 ...

  5. java枚举类型有什么用_[转载] Java中枚举类型的使用 - enum

    本文转载自博客 - Java枚举类型, 博主对原文内容及结构作了一定的修改. 1 枚举类的编译特性 从JDK 5开始, Java中多了一个关键字 -- enum: 可以将一组具有名称的值(包括Stri ...

  6. java中枚举类型详解

    枚举类型的引入: 枚举是从java5开始提供的一种新的数据类型,是一个特殊的类,就是固定的多个常量对象的集合. 定义格式: [修饰]enum 枚举类名 { 常量A,常量B,常量C; } 代码: pac ...

  7. Java中枚举类型Enum的一种使用方式

    枚举类定义如下: public enum Status {SCUUESS("1", "成功"), FAILED("2", "失败& ...

  8. java中枚举enum

    JDK1.5引入了枚举类型.枚举类型的定义包括枚举声明和枚举体.枚举体就是放置一些常量. 定义枚举要使用enum关键字.对于性别.季节.星期几等内容,如果定义为字符串类型,是很难限制其取值的.采用枚举 ...

  9. java 枚举的继承_java中枚举类可以被继承吗?

    java 枚举类 java中,使用关键字enum来定义枚举类,枚举类是一个特殊的类,大部分功能和普通类是一样的,区别为: ● 枚举类继承了java.lang.Enum类,而不是默认的Object类.而 ...

最新文章

  1. 优化SqlServer--数据压缩
  2. python基础第三章选择结构答案-零基础学Python--------第3章 流程控制语句
  3. Python自动化一--接口测试基础知识,jmeter操作介绍
  4. jQuery的load()方法
  5. mysql数据库增左右连接_快速增加MYSQL数据库连接数负载能力
  6. Python Django 查询单个对象API
  7. ACM MM2018 Best Paper 被华人包揽
  8. C# ReportViewer 绑定数据源
  9. 学习记录——DSIC与IC的区别
  10. Python学习_进程multiprocessing 多进程 协程
  11. oracle生成存储过程示例,oracle创建简单存储过程示例
  12. cxonev4验证用户_欧姆龙编程组态软件Omron CX-ONE V4.50 简体中文版
  13. 洛谷 P4099 SAO —— 树形dp
  14. 网易云通信 java 登录_Java接入网易云信工具类
  15. 《黑客帝国》效果的NB数字雨
  16. 华为ME909S-821在Hi3559AV100平台上NDIS拨号指令流程
  17. Linux ftrace 2.3、kprobe event的使用
  18. Linux系统和程序中的DEP和ASLR保护机制
  19. m序列码产生电路设计与仿真
  20. 计算机输入输出接口分类,以cpu为中心配上存储器输入输出接口电路及系统总线所组成的计算机称为什麽...

热门文章

  1. vue版分享微博 分享微信 分享qq |亲测有效|2020年08月13日
  2. Google Play开发者账号注册
  3. 数据库优化之降龙十八掌
  4. 微机原理课程设计-模拟十字路口交通信号灯
  5. 利用EXCEL函数LINEST进行统计学中的回归分析
  6. 关于office2021升级
  7. 已搭建独立博客,请移步下面网址
  8. 2015 移动技术白皮书
  9. 【积水成渊-逐步定制自己的Emacs神器】3:为Emacs安装扩展
  10. 新浪微博分布式爬虫分享