文章目录

  • 1. 枚举例子
  • 2. 接口的实现
  • 3. 枚举中定义抽象方法

enum 定义了枚举类型,其继承于 Enum 枚举类

1. 枚举例子

import java.util.EnumMap;
import java.util.EnumSet;
import java.util.Iterator;
import java.util.Map;class EnumDemo {public enum Color{RED, GREEN, BLUE}public static void main(String[] args){Color c = Color.RED;System.out.println(c);c = Color.GREEN;System.out.println(c);c = Color.BLUE;System.out.println(c);// 可用于 switch switch(c){case RED:{System.out.println("红色");break;}case GREEN:{System.out.println("绿色");break;}case BLUE:{System.out.println("蓝色");break;}default:{System.out.println("nothing");}}// for(Color col : Color.values())System.out.println(col.name() + "--->" + col.ordinal());// RED--->0// GREEN--->1// BLUE--->2// EnumMapEnumMap<Color, String> eMap = new EnumMap<Color, String>(Color.class);eMap.put(Color.RED, "红色");eMap.put(Color.GREEN, "绿色");eMap.put(Color.BLUE, "蓝色");for(Map.Entry<Color, String> me : eMap.entrySet()){System.out.println(me.getKey() + " : " + me.getValue());}// RED : 红色// GREEN : 绿色// BLUE : 蓝色// EnumSetEnumSet<Color> eSet = EnumSet.allOf(Color.class);//全部内容设置到集合Iterator<Color> iter = eSet.iterator();while(iter.hasNext()){System.out.println(iter.next());}// RED// GREEN// BLUE}
}
enum Color{RED("红色"), GREEN("绿色"), BLUE("蓝色");private String name;public String getName(){return name;}public void setName(String name){this.name = name;}Color (String name){ // 枚举的构造不能为 publicthis.setName(name);}
}
class test7{public static void main(String[] args) {for(Color col : Color.values()) {System.out.println(col.name() + "--->" + col.ordinal() + " " + col.getName());}}
}

输出:

RED--->0 红色
GREEN--->1 绿色
BLUE--->2 蓝色

2. 接口的实现

  • 每个元素都要实现
interface Info{public String getColor();
}
enum Color implements Info{RED{public String getColor(){return "红色";}},GREEN{public String getColor(){return "绿色";}},BLUE{public String getColor(){return "蓝色";}};
}
class test7{public static void main(String[] args) {for(Color col : Color.values()) {System.out.println(col.name() + "--->" + col.ordinal() + " " + col.getColor());}}
}

输出:

RED--->0 红色
GREEN--->1 绿色
BLUE--->2 蓝色

3. 枚举中定义抽象方法

  • 每个元素都要实现抽象方法
enum Color {RED{public String getColor(){return "红色";}},GREEN{public String getColor(){return "绿色";}},BLUE{public String getColor(){return "蓝色";}};public abstract String getColor();
}
class test7{public static void main(String[] args) {for(Color col : Color.values()) {System.out.println(col.name() + "--->" + col.ordinal() + " " + col.getColor());}}
}

Java enum枚举相关推荐

  1. android enum java包_Android @IntDef注解取代Java enum枚举提高性能详解

    Android @IntDef注解取代Java enum枚举提高性能 为提高Android性能,Android官方建议使用@IntDef注解替代Java的enum枚举.@IntDef的使用给出一个例子 ...

  2. Java Enum 枚举

    Java Enum(枚举)是一个Java类 enum TestEnum{     a("Foo1"),b("Foo2"),c("Foo3") ...

  3. java enum优点_你需要关注的 Java Enum 枚举的几个细节

    枚举是一个非常古老的语言特性,用来实现具名的有限集合,在 C/C++ 中使用广泛.而 Java 在 Java SE5 才引入枚举.也许语言设计者觉得既然是后引入该特性,那么一定要在这个特性上支持比其他 ...

  4. Java中的enum详细解析------Java enum 枚举还可以这么用

    在大部分编程语言中,枚举类型都会是一种常用而又必不可少的数据类型,Java中当然也不会例外.然而,Java中的Enum枚举类型却有着许多你意想不到的用法,下面让我们一起来看看. 1.可以在enum中添 ...

  5. java enum枚举类的用法以及高级玩法

    enum(枚举)类介绍 java枚举类是一组预定义常量的集合,使用enum关键字声明这个类,常量名称官方建议大写 1.enum类基本用法 举一个常见的例子,例如星期就可以描述为一个枚举类,如下 pub ...

  6. java enum(枚举)的使用

    在实际编程中,往往存在着这样的"数据集",它们的数值在程序中是稳定的,而且"数据集"中的元素是有限的. 例如星期一到星期日七个数据元素组成了一周的"数 ...

  7. java enum枚举的使用详情(实例与原理分析)

    一.原始的接口定义常量 public interface IConstants {String MON = "Mon";String TUE = "Tue";S ...

  8. java enum(枚举)使用详解 + 总结

    转:http://www.cnblogs.com/hyl8218/p/5088287.html#undefined enum 的全称为 enumeration, 是 JDK 1.5  中引入的新特性, ...

  9. Java enum(枚举)的用法详解(转)

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

最新文章

  1. 推荐几个BAT大佬的公众号
  2. c# 带返回值的action_C#知识点讲解之C#delegate、event、Action、EventHandler的使用和区别...
  3. sdwan架构怎么搭建?
  4. JVM - 结合代码示例彻底搞懂Java内存区域_对象在堆-栈-方法区(元空间)之间的关系
  5. 我的代码和注释都写的像坨屎,那又怎么样?
  6. 神策 FM | 科学创造「高价值」人生,终止“瞎忙”式勤奋
  7. JS函数运行在它们被定义的作用域内,而不是它们被执行的作用域内
  8. js处理16进制hex转str出现的中文乱码问题
  9. 手把手带你玩转Tensorflow 物体检测 API (3)——训练模型
  10. 从背包问题优化详解动态规划思想
  11. ubuntu下c 调用java_ubuntu下使用JNI Java调用C++的例子
  12. 【图像增强】基于matlab暗通道先验图像去雾【含Matlab源码 1367期】
  13. mysql多表操作常用语法命令
  14. 绘图 | G2色块图
  15. 网易2019年春招笔试:爬塔玩法
  16. mac上如何测试html,Mac上实现Python用HTMLTestRunner生成html测试报告
  17. 横空出世的作业APP,会继续走俏还是就此堕落?
  18. 【科研绘图】-C4D搭建石墨烯
  19. SQL SERVER 数据库delete 未加where 条件数据误删恢复办法
  20. 情人节程序员用HTML网页表白【飘动的心-3D相册】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript

热门文章

  1. 【Python基础入门系列】第04天:Python 流程控制
  2. python计算a的平方加b的平方_NumPy计算范数2的平方
  3. 在C++中用虚函数的作用是什么? 为什么要用到虚函数?
  4. cocos2dx 圆盘抽奖_cocoscreator之微信小游戏的抽奖转盘
  5. c++远征之继承篇——多重继承,多继承,虚继承,多继承时的重复定义解决方法
  6. 安装rlwrap 的简单方法
  7. Spring系列(六) Spring Web MVC 应用构建分析
  8. P1133 教主的花园 (动态规划)
  9. iOS开发针对对Masonry下的FPS优化讨论
  10. 系统权限管理设计 (转)