忽然有了疑问,我们为什么要用枚举而不用public static final的常量解决类似问题。
通过网络搜索初步得到的结论是“接口直观,类型安全”等。
具体的例子可以参考下面的链接
[url]http://dev.firnow.com/course/3_program/java/javashl/2007123/89627.html[/url]
为什么说接口直观呢? 因为如果你定义了枚举,那么需要枚举值作为参数的方法,就能在方法的参数里,直接写枚举这个类名,这样别人一看就知道,哦,我这应该是传一个枚举值。
相比较而言用public static final的方法就不这么直观了,假设是个final int那方法的参数里就是写int, 是个String那就是String。
如果不了解代码,很有可能让别人误觉得这里传个int,String就可以了,谁会想到要传事先定义好的一些变量呢?
为什么说安全呢?我的理解是,因为你的参数是一个枚举类型,那么你往里面传的时候就只能传枚举类型里面定义的一些值了,传不进其他值,这从某种意义上来说就是安全了。
所以细细思之程序设计还是有很多值得探讨的地方的,如果你有更好的见解,希望能留下你的评价。
通过网络搜索初步得到的结论是“接口直观,类型安全”等。
具体的例子可以参考下面的链接
[url]http://dev.firnow.com/course/3_program/java/javashl/2007123/89627.html[/url]
为什么说接口直观呢? 因为如果你定义了枚举,那么需要枚举值作为参数的方法,就能在方法的参数里,直接写枚举这个类名,这样别人一看就知道,哦,我这应该是传一个枚举值。
相比较而言用public static final的方法就不这么直观了,假设是个final int那方法的参数里就是写int, 是个String那就是String。
如果不了解代码,很有可能让别人误觉得这里传个int,String就可以了,谁会想到要传事先定义好的一些变量呢?
为什么说安全呢?我的理解是,因为你的参数是一个枚举类型,那么你往里面传的时候就只能传枚举类型里面定义的一些值了,传不进其他值,这从某种意义上来说就是安全了。
所以细细思之程序设计还是有很多值得探讨的地方的,如果你有更好的见解,希望能留下你的评价。