1.定义常量:

public enum Color {RED,ORANGE,YELLOW,GREEN,INDIGO,BLUE,PURPLE
}

2.用于switch:

enum Color {RED,ORANGE,YELLOW,GREEN,INDIGO,BLUE,PURPLE
}
public class Draw{Color c = Color.BLUE;public void draw(){switch(c){case RED:c = Color.RED;break;case ORANGE:c = Color.ORANGE;break;case YELLOW:c = Color.YELLOW;break;case GREEN:c = Color.GREEN;break;case INDIGO:c = Color.INDIGO;break;case BLUE:c = Color.BLUE;break;case PURPLE:c = Color.PURPLE;break;}}
} 

3.在枚举中添加新方法:

public enum Color {RED(1,"红"),ORANGE(2,"橙"),YELLOW(3,"黄"),GREEN(4,"绿"),INDIGO(5,"靛"),BLUE(6,"蓝"),PURPLE(7,"紫");//成员变量private int sequence;private String name;//构造方法private Color(int sequence, String name) {this.sequence = sequence;this.name = name;}//自定义方法public static String getColorName(int sequence){for (Color c : Color.values()) {if(c.getSequence() == sequence)return c.name;}return null;}//getter&setterpublic int getSequence() {return sequence;}public void setSequence(int sequence) {this.sequence = sequence;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

4.覆盖(重写)枚举的方法:

public enum Color {RED(1,"红"),ORANGE(2,"橙"),YELLOW(3,"黄"),GREEN(4,"绿"),INDIGO(5,"靛"),BLUE(6,"蓝"),PURPLE(7,"紫");//成员变量private int sequence;private String name;//构造方法private Color(int sequence, String name) {this.sequence = sequence;this.name = name;}//覆盖方法
    @Overridepublic String toString() {return "顺序:"+this.sequence+"_颜色名:"+this.name;}
}

5.实现接口:

interface Action{void getDetail();
}
public enum Color implements Action{RED(1,"红"),ORANGE(2,"橙"),YELLOW(3,"黄"),GREEN(4,"绿"),INDIGO(5,"靛"),BLUE(6,"蓝"),PURPLE(7,"紫");//成员变量private int sequence;private String name;//构造方法private Color(int sequence, String name) {this.sequence = sequence;this.name = name;}@Overridepublic void getDetail() {System.out.println("顺序:"+this.sequence+"_颜色名:"+this.name);}
}

6.使用接口组织枚举:

public interface Food {  enum Coffee implements Food{  BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO  }  enum Dessert implements Food{  FRUIT, CAKE, GELATO  }
}  

7.枚举集合:

java.util.EnumSet和java.util.EnumMap是两个枚举集合。EnumSet保证集合中的元素不重复;EnumMap中的key是enum类型,而value则可以是任意类型。

转载于:https://www.cnblogs.com/lxcmyf/p/6558514.html

Java中关于枚举的7种用法相关推荐

  1. Java中final关键字的几种用法

    在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面大家跟随动力节点java ...

  2. final关键字_夯实基础:Java中final关键字的几种用法

    导语 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构. 关于static请查 ...

  3. 面向对象篇(OOP)--05 Java中static关键字的四种用法

    在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们先来了解一下stat ...

  4. Java中的this关键字(三种用法)

    this关键字的三种用法: 通过this关键字可以明确的访问一个类的成员变量,解决成员变量与局部变量名称冲突问题. 实例: public class Student {//定义四个成员变量String ...

  5. Java中this关键字的几种用法

    1.     当成员变量和局部变量重名时,在方法中使用this时,表示的是该方法所在类中的成员变量.(this是当前对象自己) 如:public class Hello { String s = &q ...

  6. Java中for循环的几种用法

    参考一些博客整理的资料笔记,以备后续查看. 目录 1 常用的几种方法 1.1 for(; ; ) 1.2 Collection for( Iterator i=kindsList.iterator() ...

  7. Java中Array.sort()的几种用法[转]

    转自: http://www.cnblogs.com/IT-sky/p/3749859.html?utm_source=tuicool&utm_medium=referral void jav ...

  8. java里break的使用方法_Java中break的第三种用法说明

    在Java中,break语句有三种用法,第一种是用于终止switch语句中的语句序列,第二种是用于退出循环,然而第三种是用作goto语句的"文明"形式! 我们知道,goto语句会破 ...

  9. 浅谈在Java开发中的枚举的作用和用法

    2019独角兽企业重金招聘Python工程师标准>>> 在枚举出现之前,如果想要表示一组特定的离散值,往往使用一些常量.例如: [java] view plain copy pack ...

最新文章

  1. 乾勤科技-智能车竞赛培训计划
  2. 科学计算:Python VS. MATLAB (1)----给我一个理由先
  3. 表的插入、更新、删除、合并操作_12_通过表关联更新表
  4. v-if和v-show
  5. monogdb操作system.*权限
  6. 配置mysql使其允许外部ip进行登录
  7. PATH环境变量的相关操作
  8. linux nginx postgresql php,常用Web环境架设手册PNP:Postgresql+Nginx+PHP
  9. rmi远程反序列化rce漏洞_Apache Dubbo Provider默认反序列化远程代
  10. dd for windows
  11. elasticsearch体验(一.初识elasticsearch)
  12. 【回归预测-LSTM预测】基于布谷鸟算法优化LSTM实现数据回归预测含Matlab代码
  13. 中国城市网约车监管之政策走向与发展前景
  14. MySQL--- 有哪些“饮鸩止渴”提高性能的方法?
  15. 树上的动态规划--树的最大独立集--刷表法
  16. KubeSphere 添加NFS存储
  17. 0017-用目标图像对源图像进行直方图匹配
  18. PyCharm代码格式化插件
  19. P2P UDP NAT 原理 穿透
  20. 孪生素数的最优解(应该)

热门文章

  1. iOS App如何连接外设
  2. 【jQuery】总结:筛选器、控制隐藏、操作元素style属性
  3. 查看mysql的版本的四种方法
  4. UML:类关系的图例
  5. FlexChart: 针对AJAX的Flash绘图应用
  6. 建立和操作 JDOM 文档
  7. AutoConfigurationImportSelector是什么?
  8. 创建订单 - 保存订单与子订单数据
  9. AnnotationConfigApplicationContext容器初始化
  10. flume高可用-balance-配置文件编写