枚举类型
来源:互联网 发布:数据库的储存过程 编辑:程序博客网 时间:2024/05/29 23:24
这是Java SE5中添加的一个新特性,enum关键字
表示以前编写代码的时候从来没有用过。。。但感觉这东西应该挺方便的,比如需要创建一个常量集的时候,看一个书上的例子
public class Test {public static void main(String[] args) {for(Spiciness s : Spiciness.values()){System.out.println(s + ", ordinal " + s.ordinal());}}}enum Spiciness{NOT, MILD, MEDIUM, HOT,FLAMING}输出结果为
NOT, ordinal 0MILD, ordinal 1MEDIUM, ordinal 2HOT, ordinal 3FLAMING, ordinal 4这里面的Spiciness就是一个常量的集合,很像一个数组Spiciness.values()返回的就是一个组数,s.ordinal()表示其中的位置,类似数组下标也是从0开始。如果一定要用下标取值的话就用Spiciness.values()[1]类似这样来用,不过有点多余
尽管enum看起来像是一种新的数据类型,但是这个关键字只是为enum生成对应的类时,产生某些编译器行为,因此在很大程度上,可以将enum当做其他任何数据类型来处理。事实上enum确实是类,并且有自己的方法。
下面这个例子比较有意思,enum可以在switch语句内使用
public class Test {public static void main(String[] args) {describe(Spiciness.HOT);}public static void describe(Spiciness s){int index = 0;switch (s) {case NOT:break;case MILD:index = 1;break;case MEDIUM:index = 2;break;case HOT:index = 3;break;case FLAMING:index = 4;break;default:index = 5;break;}System.out.println("index: " + index);System.out.println(Spiciness.values()[index]);}}enum Spiciness{NOT, MILD, MEDIUM, HOT,FLAMING}
输出结果为
index: 3HOT由于switch是要在有限的可能值集合中进行选择,因此它与enum是绝佳的组合。
0 0
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 枚举类型
- 算法分析与设计的读书笔记加个人总结
- 回调函数的小结
- 11.6 如果iOS中xib 和viewcontroller 不对应
- 第十一周项目6-回文,素数-1
- 经典插入排序算法分析 未优化的版本 C语言实现
- 枚举类型
- 关于linux启动读取配置文件的情况
- Spring4+Hibernate4事务小记
- Service与线程和进程的关系
- 在类中调用自己类的方法
- 数据库性能优化之段顾问
- HDU 2.1.4 又见GCD
- SG函数
- 约瑟夫问题求解