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

use*_*500 4 java enums

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

谢谢,Sehensaa

Sub*_*der 11

好处 -

  • 一套恒定的声明
  • 限制方法中的输入参数
  • 可以在开关盒中使用

它用于由一组固定常量组成的字段.

例子是 Thread.State

public enum State {
    NEW,
    RUNNABLE,
    WAITING,
    BLOCKED,
    ...
}
Run Code Online (Sandbox Code Playgroud)

要么 private enum Alignment { LEFT, RIGHT };

你可以使用像Enum- 限制输入参数

String drawCellValue (int maxCellLnghth, String cellVal, Alignment align){}
Run Code Online (Sandbox Code Playgroud)

这里的对齐参数可能只是Alignment.LEFTAlignment.RIGHT受限制.

开关盒的示例enum-

String drawCellValue (int maxCellLnghth, String cellVal, Alignment align){
    switch (align) {
    case LEFT:...
    case RIGHT: ...
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)