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) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义相似.不过相比 ...
随机推荐
- 使用py-faster-rcnn训练自己的数据集
https://www.jianshu.com/p/a672f702e596 本文记录了在ubuntu16.04下使用py-faster-rcnn来训练自己的数据集的大致过程. 在此之前,已经成功配置 ...
- chenzl
大噶好!我是计算机6班的陈志良.我是一名代码小白.大一才刚接触代码,我发现我对编程兴趣挺大.特别是每周的代码作业,特别具有挑战性,每当我AC一道,我内心都会有自豪感和兴奋感,尽管过程有挫折,但我仍然坚 ...
- Innodb-内存架构与特性
参考文档 Innodb特性buffer_pool http://mysql.taobao.org/monthly/2017/05/01/?spm=a2c4e.11153940.blogcont2812 ...
- 吴裕雄--天生自然 PHP开发学习:魔术常量
<?php echo '这是第 " ' . __LINE__ . ' " 行'; ?> <?php echo '该文件位于 " ' . __FILE__ ...
- Acunetix WVS安全测试软件使用教程(入门级)
1.下载 Acunetix WVS 10.5软件,下载地址为:https://pan.baidu.com/s/1Koku0Lhya5PgphMVL7w19g 密码:v438 2.压缩包中有破解说明,按 ...
- 884A. Book Reading#抽空学习好孩子(模拟)
题目出处:http://codeforces.com/problemset/problem/884/A 题目大意:每天时间分两部分,工作和学习,工作优先,闲暇读书,问第几天读完 #include< ...
- 计量经济与时间序列_ACF与PACF标准差(均标准误)的计算(含代码)
1 我们对于acf和pacf值计算完毕之后,在需要计算两个数值的标准差. 2 acf和pacf的标准差计算略有不同.acf的标准差是一个移动过程,而pacf是一个相对固定过程. 3 我们继 ...
- tmp == emg.经典+47
zw.Y3s3{ttqtf**9q+{xx//up qm+Y3#9t%sfsfqtf+&* hh-Y@15zq&zf51"qt3+x>y ====== 城隍庙 经典景点 ...
- Springboot配置注入
springboot中如何将yml 配置文件中配置,在类中注入使用 ①第一种使用@value方式 ################## 配置文件 ######################### d ...
- 再来看看Java8的新特征——lambda表达式
什么是lambda表达式? 可以把Lambda表达式理解为简洁地表示可传递的匿名函数的一种方式:它没有名称,但它有参数列表.函数主体.返回类型,可能还有一个可以抛出的异常列表. 比如说new一个Thr ...