[b]Enum的作用[/b]
1.增加程序的可读性和可维护性,比如一些参数只能取那么几个值,而从参数类型上又看不出来有哪些值可以取。
2.可以保证单例,且比较时候可以用”==”来替换equals(同时可以利用枚举来实现单例)。
3.可以用switch,这个特点是用enum的一大原因
4.复杂的应用里,有很多字典表,这些字典表必须体现出其词性才有意义
5.类型安全, 不会出现非法参数
6.Enum 本身就是个普通的 class, 可以有很多自定义方法用来实现不同的功能
[b]Enum的特性[/b]
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的方法返回枚举值在枚举类种的顺序,这个顺序根据枚举值声明的顺序而定。
1.增加程序的可读性和可维护性,比如一些参数只能取那么几个值,而从参数类型上又看不出来有哪些值可以取。
2.可以保证单例,且比较时候可以用”==”来替换equals(同时可以利用枚举来实现单例)。
3.可以用switch,这个特点是用enum的一大原因
4.复杂的应用里,有很多字典表,这些字典表必须体现出其词性才有意义
5.类型安全, 不会出现非法参数
6.Enum 本身就是个普通的 class, 可以有很多自定义方法用来实现不同的功能
[b]Enum的特性[/b]
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的方法返回枚举值在枚举类种的顺序,这个顺序根据枚举值声明的顺序而定。