常见枚举用法

1.常量

把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。

Java代码

  1. public enum Color {
  2. RED, GREEN, BLANK, YELLOW
  3. }

2.switch

使用枚举,能让我们的代码可读性更强。

Java代码

  1. enum Signal {
  2. GREEN, YELLOW, RED
  3. }
  4. public class TrafficLight {
  5. Signal color = Signal.RED;
  6. public void change() {
  7. switch (color) {
  8. case RED:
  9. color = Signal.GREEN;
  10. break;
  11. case YELLOW:
  12. color = Signal.RED;
  13. break;
  14. case GREEN:
  15. color = Signal.YELLOW;
  16. break;
  17. }
  18. }
  19. }

3.向枚举中添加新方法

如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且 Java 要求必须先定义 enum 实例。

Java代码

  1. public enum Color {
  2. RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
  3. private String name;
  4. private int index;
  5. private Color(String name, int index) {
  6. this.name = name;
  7. this.index = index;
  8. }
  9. public static String getName(int index) {
  10. for (Color c : Color.values()) {
  11. if (c.getIndex() == index) {
  12. return c.name;
  13. }
  14. }
  15. return null;
  16. }
  17. public String getName() {
  18. return name;
  19. }
  20. public void setName(String name) {
  21. this.name = name;
  22. }
  23. public int getIndex() {
  24. return index;
  25. }
  26. public void setIndex(int index) {
  27. this.index = index;
  28. }
  29. }

4.覆盖枚举的方法

下面给出一个toString()方法覆盖的例子。

Java代码

  1. public enum Color {
  2. RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
  3. private String name;
  4. private int index;
  5. private Color(String name, int index) {
  6. this.name = name;
  7. this.index = index;
  8. }
  9. @Override
  10. public String toString() {
  11. return this.index+"_"+this.name;
  12. }
  13. }

5.实现接口

所有的枚举都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类。

Java代码

  1. public interface Behaviour {
  2. void print();
  3. String getInfo();
  4. }
  5. public enum Color implements Behaviour{
  6. RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
  7. private String name;
  8. private int index;
  9. private Color(String name, int index) {
  10. this.name = name;
  11. this.index = index;
  12. }
  13. @Override
  14. public String getInfo() {
  15. return this.name;
  16. }
  17. @Override
  18. public void print() {
  19. System.out.println(this.index+":"+this.name);
  20. }
  21. }

原文地址:https://www.cnblogs.com/yinghuoshouxin/p/9193356.html

时间: 2024-08-10 22:12:15

常见枚举用法的相关文章

【转】Java 枚举7常见种用法

原文网址:http://softbeta.iteye.com/blog/1185573 Java 枚举7常见种用法 博客分类: java java枚举enmu 原创地址:http://blog.lichengwu.cn/java/2011/09/26/the-usage-of-enum-in-java/ JDK1.5引入了新的类型——枚举.在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便. 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fi

Java 枚举(enum) 详解7种常见的用法

用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. Java代码 public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强. Java代码 enum Signal { GREEN, YE

LINUX 下 find grep sed awk 的常见基本用法特点

LINUX 下 find grep sed awk 的常见基本用法特点 只为让自己具有更高的水准,这就开始了长达6个月的小白进阶路! 这几天学习linux基础命令有点犯蒙,尤其是对文件查找这块.所有我想把一些我觉得常用的实用的参数项总结下来,大神勿喷哈... 不到之处请大家指教,小女子在此谢过了. 一.find:命令用于查找文件系统中指定的文件,其命令格式为: 1.find pathname -options [ -print  -exec  -ok ... ] (1)find 命令的参数: p

Java操作mongoDB2.6的常见API用法

对于mongoDB而言,学习方式和学习关系型数据库差不太多 开始都是学习如何insert.find.update.remove,然后就是分页.排序.索引,再接着就是主从复制.副本集.分片等等 最后就是通过它提供的各个驱动(比如Java.PHP.node.js等等)来练习所谓的高级用法 另外:相对于Oracle有PLSQL Developer,MySQL有HeidiSQL mongoDB也不例外,它的图形化工具中有一款叫做mongoVUE的,我用的是1.5.3破解版(不是每15天就得改一次注册表的

错误的枚举用法

[承上文] 承上文[代码整洁之道]你真的会用枚举吗?非也! 先划重点: 如果把某域定义成了枚举,那么,正确使用枚举要注意如下几点: 除了对外交易的输入输出,程序内部涉及到该域的,一律用枚举类型.例如:方法参数.bo的属性. 接收到外来的数据后,在使用该域时,应先把该域转换成枚举类型. 接下来举例继续唠叨. [错误的枚举用法] 如下方法: public static String getMNBNotifyUrl(YGBizMessageContext bizCtx, String reqCode,

Python中.format()常见的用法

format()格式化输出 format():把传统的%替换为{}来实现格式化输出 format()常见的用法: 其实就是format()后面的内容,填入大括号中(可以按位置,或者按变量) '数字{1}{2}和{0}'.format("123",456,'789') >>>'数字456789和123' #这里注意有两层大括号,输出的结果只有一层大括号 '数字{{{1}{2}}}和{0}'.format("123",456,'789') >&g

Java 枚举7常见种用法

用法一:常量 在JDK1.5 之前,我们定义常量都是: publicstaticfianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. Java代码 public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强. Java代码 enum Signal { GREEN, YELL

Java枚举7常见种用法

DK1.5引入了新的类型——枚举.在Java中它虽然算个“小”功能,却给我的开发带来了“大”方便. 方法/步骤 用法一:常量 在JDK1.5之前,我们定义常量都是:publicstaticfianl.....现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. Java代码 public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类

C#中Dictionary泛型集合7种常见的用法

要使用Dictionary集合,需要导入C#泛型命名空间 System.Collections.Generic(程序集:mscorlib)  Dictionary的描述1.从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一个值及其相关连的键组成 2.任何键都必须是唯一的 3.键不能为空引用null(VB中的Nothing),若值为引用类型,则可以为空值 4.Key和Value可以是任何类型(string,int,custom class 等) Dictionary常用用法:以