Java中关于枚举的7种用法
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&setter
public 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;
}
//覆盖方法
@Override
public 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;
}
@Override
public 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则可以是任意类型。
Java中关于枚举的7种用法的更多相关文章
- java中 this 关键字的三种用法
Java中this的三种用法 调用属性 (1)this可以调用本类中的任何成员变量 调用方法(可省略) (2)this调用本类中的成员方法(在main方法里面没有办法通过this调用) 调用构造方法 ...
- Java中this关键字的几种用法
1 . 当成员变量和局部变量重名时,在方法中使用this时,表示的是该方法所在类中的成员变量.(this是当前对象自己) 如:public class Hello { String s = " ...
- Java中Array.sort()的几种用法
****************************************************** * 精品书籍推荐:<Java从入门到经通> * 本书系统全面.浅显易懂,非常适 ...
- Java中Array.sort()的几种用法(需要初始化要排序的对象)
====================================================== 1.Arrays.sort(int[] a) 这种形式是对一个数组的所有元素进行排序,并且 ...
- 【转】Java 枚举7常见种用法
原文网址:http://softbeta.iteye.com/blog/1185573 Java 枚举7常见种用法 博客分类: java java枚举enmu 原创地址:http://blog.li ...
- 浅谈在Java开发中的枚举的作用和用法
枚举(enum),是指一个经过排序的.被打包成一个单一实体的项列表.一个枚举的实例可以使用枚举项列表中任意单一项的值.枚举在各个语言当中都有着广泛的应用,通常用来表示诸如颜色.方式.类别.状态等等数目 ...
- 说说Java中的枚举(一)
在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的.例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”. ...
- Java中的枚举类型详解
枚举类型介绍 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义 ...
- 扒一扒: Java 中的枚举
目录 1. 枚举的定义 1.1 传统的非枚举方法 1.2 枚举方法 1.3 定义总结 2 枚举的本质 2.1 继承 java.lang.Enum 2.2 final 类型 2.3 枚举常量本身就是该类 ...
随机推荐
- OCR 识别原理
https://mp.weixin.qq.com/s?__biz=MzA3MDExNzcyNA==&mid=402907292&idx=1&sn=889c4abcf576e24 ...
- angular.js 动态插入删除dom节点
angular.js 是新一代web开发框架,它轻松在web前端实现了MVC模式,相比 jquery 模式,这种新玩意竟然不需要开发者直接去操作dom . 作为前端开发而不去操作dom ,这简直是一个 ...
- Sql 常用的语句实例与代码
在学习SQL的时候,本来预计花三天的时候掌握MS SQL这些基础,现在争取提前一天看完.总结沉底下来,其实也没有多少东西: 1.程序初始化前,先连接数据库 MFC程序中添加记录的代码: [cpp] v ...
- 0x00 译文:Windows桌面应用入门选择
当你想要创建一个新的桌面应用的时候,第一个你需要做的决定是使用Win32 和COM 还是使用.NET两个选项. C++ 和 Win32 使你“离奖牌更近”,并使你可以获得最佳的应用性能..NET 使你 ...
- Elastic_Terms 内容分类统计
Terms 按字段的值进行分类,并计算出doc_count, bucket聚合 类似于 group by 常用统计 分类并出现频率高的,并进一步挖出,计算出想要的数据. 参考资料 https://ww ...
- linux命令(6)crontab的用法和解析,修改编辑器
注意: 如果不是vim打开的,可以先: crontab -e 命令将检查环境变量$ EDITOR和$ VISUAL以覆盖默认文本编辑器,所以... export VISUAL=vim or expor ...
- imooc 生鲜超市笔记
1.启动前端项目(Vue.js) cnpm run dev
- python学习笔记(5)--泡菜:永久存储
说明: 1. 导入pickle泡菜模块. 2. wb方式(二进制)创建.pkl文件. 3. pickle.dump把一个数组或什么数据灌进这个新建的文件. 4. 然后就生成了一个pkl文件,用来存放数 ...
- 基于jQuery select下拉框美化插件
分享一款基于jQuery select下拉框美化插件.该插件适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线预览 源码下 ...
- love2d--glsl01简单的渲染
love2d一个好玩的地方是支持glsl1.2,并修改简化,glsl1.2的文档 地址为:http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.2 ...