在java中使用enum有什么好处?

时间:2012-12-12 12:13:07

标签: java enums

我正在浏览Java中的枚举。枚举可以通过集合或字符串数​​组或用户定义类型实现。在Java 5中引入枚举的主要目的是什么。

谢谢, Sehensaa

4 个答案:

答案 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)

来自understanding-enums-in-java

  1. 类型安全。您可以声明一个函数参数,返回类型,类 成员或局部变量是特定的枚举类型和 编译器将强制执行类型安全;
  2. 枚举基本上是课程。他们可以实现接口,拥有 行为等等。
  3. 来自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”构造是这种设计模式的语言级支持(语法糖)。