Java 枚举知识点

来源:互联网 发布:模拟炒股 app 知乎 编辑:程序博客网 时间:2024/06/06 05:49
枚举
定义:枚举就是把一切存在的可能都列举出来,指定其事物的范围
作用:枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译程序就会报错。枚举可以让编译程序在编译时就可以控制源程序填写的非法值,普通变量的方式在开发阶段无法实现
枚举是java中的一个特殊的类
在java枚举中每一个元素就是一个枚举类的实例对象
在枚举中也可以像普通java类一样有变量,构造函数,接口,抽象方法等,需要注意的是当一个枚举中存在了接口和抽象方法那么该枚举的实例(枚举中的元素)就必须实现该方法
在java5中还扩展了switch语句,switch也支持枚举类型
如果一个枚举中只有一个元素,那么可以把这个枚举当作一个单例模式来使在比较两个枚举的时候可以使用==或者equals,但是比较好的风格是使用==
枚举中可以有抽象,但必须在枚举值中实现

格式:
public enum WeekDay{sun,mon;}
注意:多个枚举元素用逗号隔开,末尾用分号结尾(如果下面没有方法就可以不使用分号结尾,不过为了代码的完整性,建议加上分号)
所有枚举都默认调用无参构成方法,如果需要指定在枚举后加()传递其参数指定(前提有多个重载构造函数)必须在元素列表之后定义变量和构造方法 构造方法必须是private修饰(其他方法也必须位于元素列表之后)

所有的enum对象都继承了ENUM类,ENUM类中定义一些常用的方法供使用:
name());//返回当前枚举名字
weekday.ordinal();//当前枚举的下标位置,从0开始
weekday.compareTo(weekday1); //比较此枚举与指定对象的顺序
WeekDay.valueOf("WED").toString();//将字符串变成枚举对象,前提是枚举中存在该对象(在实际开发中,当客户机传入可以字符串比如“男”,这个时候就要在服务端进行检测,这时就可以使用该方法就可以进行判断值是否合法,如果枚举中没有则抛出异常)
WeekDay.values().length;//返回该枚举数组的长度WeekDay.values()返回的是一个WeekDay[]
0 0
原创粉丝点击