- 3
- 0
- 约4.12千字
- 约 6页
- 2019-08-17 发布于江苏
- 举报
PAGE / NUMPAGES
Java SE 059 类型安全的枚举
JDK1.5加入了一个全新的类型“类”——枚举类型。为此JDK1.5引入了一个新关键字
enum.我们可以这样来定义一个枚举类型。
public enum Color{
Red,
White,
Blue
}
然后可以这样来使用:
Color myColor = Color.Red.
package com.javase.enums。
public enum Color {
Red,White,Blue
}
package com.javase.enums。
public class ColorTest {
public static void main(String[] args) {
Color color = Color.Red。
System.out.println(color)。
}
}
枚举类型还提供了两个非常有用的静态方法,values()和valueOf()。我们可以很方便地使用它们:例如
for(Color c : Color.values()){
System.out.println(c)。
}
package com.javase.enums。
public class ColorTest {
public static void main(String[] args) {
Color color = Color.Red。
System.out.println(color)。
System.out.println()。
for(Color c : Color.values()){
System.out.println(c)。
}
}
}
遍历时,是按照定义枚举变量的顺序进行输出的。
2、枚举的应用
package com.javase.enums。
public class EnumTest {
public static void doOp(OpConstant opContant){
//switch 语句后面可以跟五种数据类型 char byte short int 枚举
switch(opContant){
case TURN_LEFT:
System.out.println(向左转)。
break。
case TURN_RIGHT:
System.out.println(向右转)。
break。
case SHOOT:
System.out.println(射击)。
break。
}
}
public static void main(String[] args) {
doOp(OpConstant.TURN_RIGHT)。
}
}
/**
* 操作变量
*/
enum OpConstant{
TURN_LEFT,TURN_RIGHT,SHOOT。
}
3、定义枚举
我们在定义枚举的时候,本质上就是定义一个类别,只不过很多细节由编译器帮您完成了,所以某些程度上,enum关键字的作用就像class或interface.
package com.javase.enums。
public enum Coin {
penny(hello),nickel(world),dime(welcome),quarter(hello world)。
private String value。
public String getValue(){
return value。
}
Coin(String value){
this.value = value。
}
public static void main(String[] args) {
Coin coin = Coin.quarter。
System.out.println(coin.getValue())。
}
}
当您使用“enum”定义一个枚举类型时,实质上您定义出来的类型继承自java.lang.Enum类型,而每个枚举的成员(如nickel(world))其实就是您定义的枚举类型的一个实例(Instance),他们都被预设为final,所以您无法改变他们,他们也是static成员,所以您可以通过类型名称直接使用他们,当然最重要的,它们都是公开的(public)。
总结:
我们定义的每个枚举类型都继承自java.lang.Enum类,枚举中的每个成员默认都是public static final的。
package com.javase.enums。
public enum Color {
Re
您可能关注的文档
- 上市企业 实力雄厚 品牌保证 权威师资阵容 强大教学团队.doc
- 企业环境风险评估报告.docx
- --企业环境风险评估报告.docx
- -铝格栅吊顶施工工艺标准.docx
- -企业团队建设活动方案.doc
- -我国的民族区域自治规范和宗教政策-届高考政治第一轮课时练习题.doc
- .个体工商户换证申请表.doc
- 0天武功推拿速成培训课程表.doc
- 0的销售来源于报价后第至次的跟踪兰州拉面店的门店业绩提升案例分析和启示客户开发四个秘诀销售新手如.docx
- 1cto学院-百度sem竞价基础必备技巧培训超级实战教程.docx
- 2025年版汽车趋势报告 The 2025 EPA Automotive Trends Report.docx
- 2026年边缘计算开源平台EdgeX Foundry入门与二次开发.docx
- 2026年超声内镜放大内镜早癌诊断AI辅助识别系统临床评价.docx
- 2026年报废汽车回收与再制造逆向物流体系.docx
- 2026年产品碳足迹核算方法学:从摇篮到大门与从摇篮到坟墓.docx
- 2026年城乡要素平等交换双向流动政策创新试点申报材料.docx
- 2026年超导半导体接口电路架构与电平转换驱动器设计.docx
- 2026年财政贴息不再以再贷款支持为前提后的风险防范与合规要点.docx
- 2026年不动产信托登记试点政策对遗嘱信托支持.docx
- 2026年城乡有机废弃物协同处理技术方案.docx
最近下载
- 2021版劳动实践河北科学技术出版社一年级下册全册教案.doc
- 2025年甘肃省平凉市崇信县新窑镇招聘大学生村文书笔试试题附答案解析.docx VIP
- 山西单招古诗题库及答案.doc VIP
- 07K103-2 防排烟系统设备及附件选用及安装.docx VIP
- 《运动损伤与康复》王国祥 7第七章 手腕部运动损伤与康复.ppt VIP
- 化工厂预防火灾.pptx VIP
- 06K301-1 空气-空气能量回收装置选用与安装(新风换气机部分).docx VIP
- 坑槽箱式支护施工方案.docx VIP
- 第十二章 玻璃体病 .ppt VIP
- DB37_T 4919-2025 钢桥面超高性能混凝土铺装技术规范.pdf VIP
原创力文档

文档评论(0)