从C++转到Java上的程序员一开始总是对Java有不少抱怨,其中没有枚举就是一个比较突出的问题。那么为什么Java不支持枚举呢?从程序语言的角度讲,支持枚举意味着什么呢?我们能不能找到一种方法满足C++程序员对枚举的要求呢?那么现在就让我们一起来探讨一下这个问题。
枚举类型(Enumerated Types)
让我们先看下面这一段小程序:
enum Day {SUNDAY, MONDAY, TUESDAY,
WEDNESDAY, THURSDAY, FRIDAY, SATURDAY};
这种申明提供了一种用户友好的变量定义的方法,它枚举了这种数据类型所有可能的值,即星期一到星期天。抛开具体编程语言来看,枚举所具有的核心功能应该是:
类型安全(Type Safety)
紧凑有效的枚举数值定义 (Compact, Efficient Declaration of Enumerated Values)
无缝的和程序其它部分的交互操作(Seaml...[ 查看全文 ]