我正在浏览Java中的枚举。枚举可以通过集合或字符串数组或用户定义类型实现。在Java 5中引入枚举的主要目的是什么。
谢谢, Sehensaa
答案 0 :(得分:10)
优点 -
它用于字段,由一组固定的常量组成。
示例是Thread.State
public enum State {
NEW,
RUNNABLE,
WAITING,
BLOCKED,
...
}
或private enum Alignment { LEFT, RIGHT };
您可以使用{ - 1}}限制输入参数,例如 -
Enum
此处的align参数可能只有String drawCellValue (int maxCellLnghth, String cellVal, Alignment align){}
或Alignment.LEFT
受限制。
带Alignment.RIGHT
-
enum
答案 1 :(得分:2)
来自enum-in-java-advantages
您可以免费编译有效值的编译时间。使用
public static int OPTION_ONE = 0;
public static int OPTION_TWO = 1;
答案 2 :(得分:0)
它的一个用途是作为一种在Strings类型变量上模拟switch
的方法,就像Java 7之前不允许的那样
答案 3 :(得分:0)
查看“类型安全枚举模式”(例如,Joshua Bloch撰写的“Effective Java”第1版)。 Java“enum”构造是这种设计模式的语言级支持(语法糖)。