java的enum作用
来源:互联网 发布:如何用java编写小游戏 编辑:程序博客网 时间:2024/05/02 10:09
简单的说,枚举就像是一个常量的集合,到时候只用其中一个值判断。
用法一:常量
在JDK1.5 之前,定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
用法二:switch
JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让代码可读性更强。
用法三:向枚举中添加新方法
如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且 Java 要求必须先定义 enum 实例。
用法四:覆盖枚举的方法
用法五:实现接口
所有的枚举都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类。
用法六:使用接口组织枚举
用法七:关于枚举集合的使用
java.util.EnumSet和java.util.EnumMap是两个枚举集合。EnumSet保证集合中的元素不重复;EnumMap中的 key是enum类型,而value则可以是任意类型。
用法一:常量
例子
public
enum
Color {
RED, GREEN, BLANK, YELLOW
}
用法二:switch
例子
enum
Signal {
GREEN, YELLOW, RED
}
public
class
TrafficLight {
Signal color = Signal.RED;
public
void
change() {
switch
(color) {
case
RED:
color = Signal.GREEN;
break
;
case
YELLOW:
color = Signal.RED;
break
;
case
GREEN:
color = Signal.YELLOW;
break
;
}
}
}
用法三:向枚举中添加新方法
例子
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
static
String getName(
int
index) {
for
(Color c : Color.values()) {
if
(c.getIndex() == index) {
return
c.name;
}
}
return
null
;
}
// get set 方法
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;
}
}
用法四:覆盖枚举的方法
例子
public
class
Test {
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;
}
// 覆盖方法
@Override
public
String toString() {
return
this
.index +
"_"
+
this
.name;
}
}
public
static
void
main(String[] args) {
System.out.println(Color.RED.toString());
}
}
用法五:实现接口
例子
public
interface
Behaviour {
void
print();
String getInfo();
}
public
enum
Color
implements
Behaviour {
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;
}
// 接口方法
@Override
public
String getInfo() {
return
this
.name;
}
// 接口方法
@Override
public
void
print() {
System.out.println(
this
.index +
":"
+
this
.name);
}
}
用法六:使用接口组织枚举
例子
public
interface
Food {
enum
Coffee
implements
Food {
BLACK_COFFEE, DECAF_COFFEE, LATTE, CAPPUCCINO
}
enum
Dessert
implements
Food {
FRUIT, CAKE, GELATO
}
}
阅读全文
0 0
- java的enum作用
- enum类型的作用
- enum 枚举的作用
- enum的作用以及主要的作用
- Java的enum
- java的enum应用
- java enum的用法
- java Enum的使用方法
- java enum的用法
- java的enum详解
- java enum的使用
- Java enum的用法
- Java enum的用法
- java的枚举enum
- java enum的用法
- JAVA的enum类型
- JAVA enum 和 Enum 的区别
- 在C#中枚举的作用(enum)
- 教育直播开发:直播+教育新模式的大活力 在全民直播时代,大部分东西都可以和直播联系起来,比如商城直播系统、在线抓娃娃系统、教育直播系统等,这些分别是电商、线下娃娃机、在线教育与直播相结合,今天要大家说
- 用C++实现俄罗斯方块
- Phyton安装MySQL驱动
- 201712月如何买到阿里云免费SSL证书(0元SSL证书)
- MySQL 5.6 not in 和表关联性能测试对比
- java的enum作用
- 变长参数模版函数初探
- Android gralde 更换不同资源
- windows搭建laravel开发环境
- 博客搬家
- 【Linux使用及问题解决】用户登录时显示 -bash-4.2$ 问题
- R语言实现层次聚类分析
- 服务器模型——从单线程阻塞到多线程非阻塞(上)
- 事件分发前的拦截过程