枚举(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 来定义的。
出自:http://www.cnblogs.com/zhaoyanjun/p/5659811.html
相关推荐
代码中包含枚举类的基本使用,和完整的请求示例。 主要实现了枚举类创建单例后,将结果返回给前端。 看过一些其他人的实现,都比较麻烦。这是结合一些博主的代码,摸索出来的比较方便的方案。 缺点就是 多线程下会...
Java高新技术_java5的枚举的基本应用
使用Java枚举可以帮助我们有效地组织常量,并将其用于多种场景,提高代码的易用性和可重用性。 如何使用Java枚举? 在Java中,定义枚举使用enum关键字,其基本语法结构如下: 其中,EnumName表示枚举类型的名称,...
java enum详细教程。由浅入深,包括基本语法方面..很适合新手学习。/n各位看官。绝对超值。
枚举+枚举类+定义和使用+学习 - 本资源介绍了枚举的基本概念,以及如何用Java定义和使用枚举类,包括实现接口,重写方法,使用switch,比较枚举等。
Java语言中,为了能够把基本数据类型当做对象处理,通过包装类将八个基本数据类型包装成类,并提供了多种方法供以调用。。。。
计算机后端-Java-Java核心基础-第23章 枚举类与注解 15. jdk中4个基本的元注解的使用
计算机后端-Java-Java核心基础-第23章 枚举类与注解 14. jdk中4个基本的元注解的使用
计算机后端-Java-Java核心基础-第23章 枚举类与注解 12. JDK内置的三个基本注解.avi
介绍JAVA常用类,Object类 System类 基本类型的包装类 日期类 随机数类Random 枚举类型 泛型
FileList.java 自己实现的一个文件名称枚举类 MyDataIO.java 数据输入输出示例 MyFileOutput.java 将键盘读入的文字保存到文件 MyPipedIO.java 管道流示例 MySequenceIn.java 顺序输入流示例 ObjectFileTest....
完整版 Java初级教程 Java语言程序设计 第2章 基本数据类型、数组和枚举(共19页).ppt 完整版 Java初级教程 Java语言程序设计 第3章 运算符、表达式、语句(共16页).ppt 完整版 Java初级教程 Java语言程序设计 第4...
包装类基本知识 JAVA并不是纯面向对象的语言。Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的。但是我们在实际使用中经常需要将基本数据转化成对象,便于操作。比如:集合的操作中。例如...
使用Java枚举创建纸牌游戏“最高纸牌实验室” 建模最高纸牌游戏。 纸牌游戏实验室 本实验旨在为基本的纸牌游戏建模并实施规则。 我们并不是在寻找一款正在运行的游戏,而只是在寻找一款出色的TDD来证明该游戏...
java基本类型与byte数组互相转换
Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 特别适合新入门自学的新手同学,也适合老手回顾学习,巩固知识 第1章 Java语言概述 ...第12章 Java常用类 第13章 Java反射 第14章 网络编程
帮助大家复习java基础知识其中有 hashCode 2 toString 2 finalize 2 用已学知识做出简单的房屋出租系统 3 类方法使用注意事项和细节讨论 4 main()方法 4 代码块 4 代码块使用注意事项和细节 5 单例模式 6 final...
完整版 Java初级教程 Java语言程序设计 第2章 基本数据类型、数组和枚举(共19页).ppt 完整版 Java初级教程 Java语言程序设计 第3章 运算符、表达式、语句(共16页).ppt 完整版 Java初级教程 Java语言程序设计 第4...
Java基本数据类型 string和包装类 final关键字特性 Java类和包 抽象类和接口 代码块和代码执行顺序 Java自动拆箱装箱里隐藏的秘密 Java中的Class类和Object类 Java异常 解读Java中的回调 反射 泛型 枚举类 Java注解...
Java语言程序设计:JAVA_2-基本数据类型、枚举类型和数组.ppt