java基础——了解Enum
来源:互联网 发布:青天白日t恤 淘宝 编辑:程序博客网 时间:2024/05/20 13:37
初识Enum
enum,称为枚举。发音为[‘enəm],全称enumeration,JDK 1.5新增的特性,用于定义一组有共同特性的数据。
不使用枚举声明一组常量:
public class Color{ public final static int RED = 1; public final static int GREEN = 2; public final static int BLANK = 3; public final static int YELLOW = 4;}public class Singal{ public final static int RED = 1; public final static int GREEN = 2; public final static int YELLOW = 4;}public class TrafficLight { int color = 1; public void change() { switch (color) { case Color.RED: color = Signal.GREEN; break; case Color.YELLOW: color = Signal.RED; break; case Color.GREEN: color = Signal.YELLOW; break; } }}
enum声明及与switch结合使用方法:
public enum Color { RED, GREEN, BLANK, YELLOW } 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; } }}
初看上去两种方法似乎没有什么差别,那我们想一下,如果color是传入给方法的一个参数,那意味着原始的方法可以接收任何int的值,因此,您需要检测上界和下界,在出现无效值的时候,可能还要包含一个 IllegalArgumentException 。而enum类型不存在这样的问题。
Enum应用
遍历枚举值
for(Color color : Color.values()){ System.out.println(color);}
输出结果如下:
REDGREENYELLOBLANK
通过枚举实现接口
public interface Command { void execute();}public enum Action3 implements Command { GREEN { public void execute() { out.println("请通过"); } }, YELLOW { public void execute() { out.println("请观察后通过"); } }, RED { public void execute() { out.println("请停止"); } }, BLANK { public void execute() { out.println("空白"); } }}public class EnumTest001 { public static void main(String[] args) { EnumTest001.play(Action3.YELLOW); EnumTest001.play(Action3.GREEN); } static void play(Action3 action) { action.execute(); }}//输出結果请观察后通过请通过
0 0
- java基础——了解Enum
- Java 基础 —— enum
- java——enum
- java基础:enum枚举
- Java基础:枚举Enum
- java基础-enum 枚举
- 专业化基础—— JAVA基本了解
- JAVA基础——深入了解JVM。
- 基础加强—02—枚举enum
- JAVA基础---枚举Enum 反射
- java基础---枚举(enum)
- java语言基础之enum
- Java enum枚举类型基础
- 黑马程序员——Java基础——前期了解
- Java基础了解
- Java基础了解
- Java基础了解
- Java基础-了解HashMap
- Android UI(EditText)详解
- java project发布成运行jar包
- UVa10003 cutting sticks
- cocos2d-x 游戏嵌入到ios/android应用内部 - android篇
- 判断字符串是否为空
- java基础——了解Enum
- Umbraco 官方技术文档 翻译 四 、Creating media-创建媒体
- 六大Web负载均衡原理与实现
- 糗事百科简单爬虫
- Django UnicodeEncodeError解决
- 基于Cloudera Manager5.7配置MapReduce与HiveOnSpark压缩
- 线段树刷题指南(转载自网络)
- 适用于UWP应用开发的开源React Native插件
- serve-static