黑马程序员技术交流社区
标题:
枚举问题
[打印本页]
作者:
刘晓康
时间:
2012-4-4 21:41
标题:
枚举问题
枚举类型的使用场合有哪些,视频为什么说它过时了呢
作者:
袁野
时间:
2012-4-4 21:49
张老师有说过, 例如 交通指示灯 ,只允许有 红黄绿,做出了限定, 星期只有星期一道星期天 ,没有星期八啊
作者:
袁野
时间:
2012-4-4 21:49
张老师有说过, 例如 交通指示灯 ,只允许有 红黄绿,做出了限定, 星期只有星期一道星期天 ,没有星期八啊
作者:
贠(yun)靖
时间:
2012-4-5 00:11
当你定义的变量 是大家所共识时 且 是唯一的时候 就可以定义枚举类了
比如 年中的月份 12个月 值是不变的 定义的变量 就可以用枚举类型
星期 的天数 交通红绿黄灯 一天中的12个小时 等等很多都可以用 主要看实际需求
作者:
陈苓
时间:
2012-4-5 02:25
枚举类型用于指定种类的对象数目已经确定,而且只作标志使用的。
即:对象能够表达一定意义,却只是一个原子结构,没有更多属性,这样的对象在java中可以提高循环条件的判断效率,可用作为switch的条件。
假设武器的类型只有以下8种,则可定义:
enum 兵器 {刀,枪,剑,戟,斧,钺,钩,叉}
定义以及使用方法:
public class Test {
public static void main(String[] args) {
兵器 enu = 兵器.剑;
switch(enu){
case 刀 :
case 枪 :
case 剑 :
case 戟 :
case 斧 :
case 钺 :
case 钩 :
case 叉 :
}
}
}
事实上:枚举中的所有属性均为公有、静态而且为Enum类型的对象,枚举类型在创建完成的时候就把所有可能产生的该类型对象全部列了出来。
作者:
李震 李震 李震
时间:
2012-4-5 02:31
java中枚举的特点,和普通类的去区别。
1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例;即构造函数私有化
2.所有枚举值都是 public , static , final 的。
(注意:这一点只是针对于枚举值,我们可以和在普通类里面定义变量一样定义其它任何类型的非枚举变量,这些变量可以用任何你想用的修饰符。)
3.Enum默认实现了java.lang.Comparable接口;
4.Enum重载了toString方法,因此我们如果调用Color.Blue.toString()默认返回字符串”Blue”;
5.Enum提供了一个valueOf方法,它和toString方法是相对应的。调用valueOf(“Blue”)将返回Color.Blue
因此在重写toString方法的时候就要注意到这一点,一般来说应该相对应地重写valueOf方法;
6.Enum还提供了values方法,该方法可以方便的遍历所有的枚举值;
7.Enum还有一个oridinal的方法,该方法返回枚举值在枚举类中的顺序,这个顺序根据枚举值声明的顺序而定,这里Color.Red.ordinal()返回0。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2