Java枚举的作用和用法
从没有枚举的时代说起
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
public class Entity { public static final int VIDEO = 1 ; //视频 public static final int AUDIO = 2 ; //音频 public static final int TEXT = 3 ; //文字 public static final int IMAGE = 4 ; //图片 private int id; private int type; public int getId() { return id; } public void setId( int id) { this .id = id; } public int getType() { return type; } public void setType( int type) { this .type = type; } } |
1
2
3
|
Entity e = new Entity(); e.setId( 10 ); e.setType( 2 ); |
认识枚举
使用枚举解决我们前面遇到的问题
1
2
3
|
public enum TypeEnum { VIDEO, AUDIO, TEXT, IMAGE } |
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
|
public class Entity { private int id; private TypeEnum type; public int getId() { return id; } public void setId( int id) { this .id = id; } public TypeEnum getType() { return type; } public void setType(TypeEnum type) { this .type = type; } } |
1
2
3
|
Entity e = new Entity(); e.setId( 10 ); e.setType(TypeEnum.AUDIO); |
01
02
03
04
05
06
07
08
09
10
11
12
13
|
public enum TypeEnum { VIDEO( 1 ), AUDIO( 2 ), TEXT( 3 ), IMAGE( 4 ); int value; TypeEnum( int value) { this .value = value; } public int getValue() { return value; } } |
1
2
|
TypeEnum type = TypeEnum.TEXT; //type的value属性值为3。 System.out.println(type.getValue()); //屏幕输出3。 |
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
|
public enum TypeEnum { VIDEO( 1 , "视频" ), AUDIO( 2 , "音频" ), TEXT( 3 , "文本" ), IMAGE( 4 , "图像" ); int value; String name; TypeEnum( int value, String name) { this .value = value; this .name = name; } public int getValue() { return value; } public String getName() { return name; } } |
1
2
3
4
5
6
7
|
int compareTo(E o) //比较此枚举与指定对象的顺序。 Class<E> getDeclaringClass() //返回与此枚举常量的枚举类型相对应的 Class 对象。 String name() // 返回此枚举常量的名称,在其枚举声明中对其进行声明。 int ordinal() //返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。 String toString() //返回枚举常量的名称,它包含在声明中。 static <T extends Enum<T>> T valueOf(Class<T> enumType, String name) //返回带指定名称的指定枚举类型的枚举常量。 static T[] values() //返回该枚举的所有值。 |
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
public enum TypeEnum { VIDEO( 1 , "视频" ), AUDIO( 2 , "音频" ), TEXT( 3 , "文本" ), IMAGE( 4 , "图像" ); int value; String name; TypeEnum( int value, String name) { this .value = value; this .name = name; } public int getValue() { return value; } public String getName() { return name; } public static TypeEnum getByValue( int value) { for (TypeEnum typeEnum : TypeEnum.values()) { if (typeEnum.value == value) { return typeEnum; } } throw new IllegalArgumentException( "No element matches " + value); } } |
Java枚举的作用和用法的更多相关文章
- 【转】Java 枚举7常见种用法
原文网址:http://softbeta.iteye.com/blog/1185573 Java 枚举7常见种用法 博客分类: java java枚举enmu 原创地址:http://blog.li ...
- Java 枚举常见7种用法
用法一:常量 在JDK1.5 之前,我们定义常量都是: publicstaticfianl.....现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. publ ...
- 浅谈在Java开发中的枚举的作用和用法
枚举(enum),是指一个经过排序的.被打包成一个单一实体的项列表.一个枚举的实例可以使用枚举项列表中任意单一项的值.枚举在各个语言当中都有着广泛的应用,通常用来表示诸如颜色.方式.类别.状态等等数目 ...
- Java 枚举7常见种用法
DK1.5引入了新的类型--枚举.在 Java 中它虽然算个"小"功能,却给我的开发带来了"大"方便. 用法一:常量 在JDK1.5 之前,我们定义常量都是: ...
- Java 枚举7种常见用法
(转)原创地址:http://blog.lichengwu.cn/java/2011/09/26/the-usage-of-enum-in-java/ JDK1.5引入了新的类型--枚举.在 Java ...
- Java枚举常见7种用法
DK1.5引入了新的类型——枚举.在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便.用法一:常量在JDK1.5 之前,我们定义常量都是: publicstaticfianl…… .现 ...
- Java枚举7常见种用法
DK1.5引入了新的类型——枚举.在Java中它虽然算个“小”功能,却给我的开发带来了“大”方便. 方法/步骤 用法一:常量 在JDK1.5之前,我们定义常量都是:publicstaticfianl. ...
- Java 枚举7常见种用法(转)
JDK1.5引入了新的类型——枚举.在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便. 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl ...
- java枚举类的常见用法
枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义相似.不过相比 ...
随机推荐
- Linux--wget,yum,rpm,apt-get
参考:http://blog.csdn.net/ziju125521/article/details/52575715 使用wget下载一个 rpm包, 然后用 rpm -ivh xxx.rpm ...
- elasticsearch-填坑
1.分页参数 ,start=(page-1)*size 2.高亮字段结果的处理方式 3.float类型参数从map中取出用double接收 4.结果封装需手动封装 package com.search ...
- SWIG 3 中文手册——9. SWIG 库
目录 9 SWIG 库 9.1 %include 指令与库搜索路径 9.2 C 数组与指针 9.2.1 cpointer.i 9.2.2 carrays.i 9.2.3 cmalloc.i 9.2.4 ...
- 分糖果(BFS)
题目描述 童年的我们,将和朋友分享美好的事物作为自己的快乐.这天,C小朋友得到了糖果,将要把这些糖果分给要好的朋友们.已知糖果从一个人传给另一个人需要1秒的时间,同一个小朋友不会重复接受糖果.由于糖果 ...
- geodjango七日学习笔记 (7.30整理本地笔记上传到网络)
第一天进行到现在,在开端的尾巴,想起来写一个学习笔记, 开发环境已搭好,用的是pycharm 环境是本机已有的interpreter python3.7 接下来要做的是新建一个geodjango项 ...
- SYN洪泛(dos)攻击和DDOS攻击
在TCP三次握手中,服务器为了响应一个收到的SYN,分配并初始化连接变量和缓存,然后服务器发送一个SYNACK进行响应,并等待来自客户的ACK报文段,如果客户不发送ACK来完成该三次握手,最终,服务器 ...
- Python remove()和del语句 区别和辨析 列表删除操作
del语句可以删除列表中下标处的值,表中被删除值后后面的所有值将向前移动一个下标 spam = ['A','B','C','D','E'] del spam[2] spam 打印显示:['A', 'B ...
- 论文翻译——Deep contextualized word representations
Abstract We introduce a new type of deep contextualized word representation that models both (1) com ...
- 自定义EL函数(转)
有看到一个有趣的应用了,转下来,呵呵!! 1.定义类MyFunction(注意:方法必须为 public static) package com.tgb.jstl; /** * ...
- 第04项目:淘淘商城(SpringMvc+Spring+Mybatis) 的学习实践总结【第三天】
淘淘商城(SpringMVC+Spring+Mybatis) 是传智播客在2015年9月份录制的,几年过去了.由于视频里课上老师敲的代码和项目笔记有些细节上存在出入,只有根据日志报错信息作出适当的调 ...