转自 : http://www.cnblogs.com/zhaoyanjun/p/5659811.html
枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。
1、常量的使用
在JDK1.5之前,我们定义常量都是:public static fianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
1
2
3
4
5
6
7
|
package com; public enum Color {
RED, GREEN, BLANK, YELLOW
} |
使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
package com; public class B {
public static void main(String[] args) {
System. out .println( isRed( Color.BLANK ) ) ; //结果: false
System. out .println( isRed( Color.RED ) ) ; //结果: true
}
static boolean isRed( Color color ){
if ( Color.RED. equals ( color )) {
return true ;
}
return false ;
}
} |
或者 switch 的使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
package com; public class B {
public static void main(String[] args) {
showColor( Color.RED );
}
static void showColor(Color color){
switch ( color ) {
case BLANK:
System. out .println( color );
break ;
case RED :
System. out .println( color );
break ;
default :
System. out .println( color );
break ;
}
}
} |
2、自定义函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
package com; public enum Color {
RED( "红色" , 1), GREEN( "绿色" , 2), BLANK( "白色" , 3), YELLO( "黄色" , 4);
private String name ;
private int index ;
private Color( String name , int index ){
this .name = name ;
this .index = index ;
}
public String getName() {
return name;
}
public void setName(String name) {
this .name = name;
}
public int getIndex() {
return index;
}
public void setIndex( int index) {
this .index = index;
}
} |
使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package com; public class B {
public static void main(String[] args) {
//输出某一枚举的值
System. out .println( Color.RED.getName() );
System. out .println( Color.RED.getIndex() );
//遍历所有的枚举
for ( Color color : Color.values()){
System. out .println( color + " name: " + color.getName() + " index: " + color.getIndex() );
}
}
} |
结果
红色
1
RED name: 红色 index: 1
GREEN name: 绿色 index: 2
BLANK name: 白色 index: 3
YELLO name: 黄色 index: 4
总结:
1、枚举的本质是类,在没有枚举之前,仍然可以按照java最基本的编程手段来解决需要用到枚举的地方。枚举屏蔽了枚举值的类型信息,不像在用public static final定义变量必须指定类型。枚举是用来构建常量数据结构的模板,这个模板可扩展。枚举的使用增强了程序的健壮性,比如在引用一个不存在的枚举值的时候,编译器会报错。枚举的更多用法还需要在开发中去研究创造,Java5、Java6增加了不少新的特性,技术在升级,对程序员来说就要学习,如果你热爱java的话。否则别人用到新特性的代码你看不懂,那才叫郁闷。
2、枚举在Java家族中只占了很小的一块比重,所以我在项目中用枚举的地方不是很多,毕竟,一个项目是很多人开发维护的,用一个陌生的东西,会给其他的同事造成阅读困难。所以常量大都是用public static final 来定义的。
相关推荐
计算机后端-Java-Java核心基础-第23章 枚举类与注解 15. jdk中4个基本的元注解的使用
计算机后端-Java-Java核心基础-第23章 枚举类与注解 14. jdk中4个基本的元注解的使用
Java高新技术_java5的枚举的基本应用
计算机后端-Java-Java核心基础-第23章 枚举类与注解 12. JDK内置的三个基本注解.avi
天气后端 用JAVA编写的用于后端测试的自动化项目,用于测试Open Weather API 安装 ...枚举->框架枚举 功能->具有Cucumber的BDD的.feature文件 步骤->包含测试步骤的类 支持->测试支持类 BaseTest->用
Java语言程序设计:JAVA_2-基本数据类型、枚举类型和数组.ppt
Java 助手编译文件:javac file_name 运行文件并交互:java name_of_class 文件名描述0_hello_world.java - Java 世界你好1_variables.java - 使用变量2_data_structures.java - 使用基本数据结构(对、数组、列表、...
自制安装Java教程-> 反向3位整数-> 8种基本数据类型: 整型:byte(8位),short(16位),int(32位,例如:123),long(64位,例如:123L,123l) 浮点型:float(32位,例如:1.23f,1.23F),double(64位,...
使用Java枚举可以帮助我们有效地组织常量,并将其用于多种场景,提高代码的易用性和可重用性。 如何使用Java枚举? 在Java中,定义枚举使用enum关键字,其基本语法结构如下: 其中,EnumName表示枚举类型的名称,...
代码中包含枚举类的基本使用,和完整的请求示例。 主要实现了枚举类创建单例后,将结果返回给前端。 看过一些其他人的实现,都比较麻烦。这是结合一些博主的代码,摸索出来的比较方便的方案。 缺点就是 多线程下会...
java enum详细教程。由浅入深,包括基本语法方面..很适合新手学习。/n各位看官。绝对超值。
--这个name和teacher根元素中的name发生命名冲突--> <sex>girl</sex><!--这个sex和teacher根元素中的sex发生命名冲突--> </student> </teacher> 2、名域的声明 (1)直接定义 xmlns:名域前缀="名域的URI...
Java简介(精彩视频:33分钟) 21 1.1 Java的平台简介 21 1.2 安装工具包 22 1.2.1 下载JDK 22 1.2.2 安装JDK 24 1.2.3 查看与设置环境变量 25 1.2.4 JDK常用命令 27 1.2.5 Java各个目录含义 28 1.2.6 要善于使用JDK...
Java语言中,为了能够把基本数据类型当做对象处理,通过包装类将八个基本数据类型包装成类,并提供了多种方法供以调用。。。。
集合Java源码#java-code-gen基于的Java源代码生成器集合 #子项目 :用于编写注释处理器的实用程序。 仅用于getter或getter / setter接口的实现,生成器和属性名称提取器类生成器 Bson Java Bean编解码器生成器。 ...
完整版 Java初级教程 Java语言程序设计 第2章 基本数据类型、数组和枚举(共19页).ppt 完整版 Java初级教程 Java语言程序设计 第3章 运算符、表达式、语句(共16页).ppt 完整版 Java初级教程 Java语言程序设计 第4...
java基本类型与byte数组互相转换
使用基本的Java语法学习面向对象的编程 探索泛型,枚举,注释和lambda表达式 了解面向对象设计中使用的基本技术 检查并发性和内存,以及它们如何交织在一起 使用Java集合并处理常见的数据格式 深入研究Java最新的I /...