爪哇语中的枚举。优势?
使Java中的枚举类似于类,而不仅仅是C / C++中的常量集合,这有什么好处?
您可以免费编译时检查有效值。用
public static int OPTION_ONE = 0;
public static int OPTION_TWO = 1;
不确保
void selectOption(int option) {
...
}
将仅接受 0 或 1 作为参数值。使用枚举,这是有保证的。此外,这会导致更多的自文档代码,因为您可以使用代码完成来查看所有枚举值。
类型安全是一个原因。
另一个我发现更重要的方法是,您可以将元数据附加到Java中的枚举值。例如,可以使用枚举来定义 Web 服务的合法操作集,然后附加请求类型和数据类的元数据:
AddItem(HttpMethod.POST, ProductEntry.class),