爪哇语中的枚举。优势?

2022-09-02 05:16:18

使Java中的枚举类似于类,而不仅仅是C / C++中的常量集合,这有什么好处?


答案 1

您可以免费编译时检查有效值。用

public static int OPTION_ONE = 0;
public static int OPTION_TWO = 1;

不确保

void selectOption(int option) {
...
}

将仅接受 0 或 1 作为参数值。使用枚举,这是有保证的。此外,这会导致更多的自文档代码,因为您可以使用代码完成来查看所有枚举值。


答案 2

类型安全是一个原因。

一个我发现更重要的方法是,您可以将元数据附加到Java中的枚举值。例如,可以使用枚举来定义 Web 服务的合法操作集,然后附加请求类型和数据类的元数据:

AddItem(HttpMethod.POST, ProductEntry.class),