想了解更多关于在 Java 中使用枚举的信息吗?看看这篇关于枚举的18个要点的文章,每个 Java 开发人员都应该知道。
在下面的文章中,我们将看一下使用 Java 枚举的前18个技巧。我们进入吧!
- 尽管声明带大写字母的枚举常量不是强制性的,但最好的做法是这样做。
- 枚举类型与类一样,可以包含字段,构造函数和方法以及枚举常量。
- 枚举构造函数默认是私有的。枚举类型中只允许使用私有构造函数。这就是为什么你不能使用new运算符实例化枚举类型。
- 枚举常量仅为整个执行创建一次。当您最初在代码中引用枚举常量时,将创建所有枚举常量。在创建每个枚举常量时,将调用相应的构造函数。
- 枚举常量必须在字段、构造函数和方法(如果有的话)之前声明。
- 默认情况下,所有枚举类型都扩展java.lang.Enum类。由于 Java 不支持多重继承,因此它们无法扩展到任何其他类。
- 枚举类型可以实现任意数量的接口。
- 枚举常量可以有自己的主体,称为Constant Specific Body。在该主体中,您可以定义字段和方法。但是,这些方法和字段在定义它们的常量特定体中是可见的。
- 枚举类型默认为final。它们不能被任何其他类型扩展。
- 对于写入文件的每个枚举类型,
.class
将在编译后生成该 文件。- 枚举类型可以包含任意数量的静态初始化块以及实例初始化块。
- 由于
java.lang.Enum
该类实现了Comparable
和Serializable
接口,因此默认情况下所有枚举类型都是Comparable和Serializable。- 我们可以使用
==
运算符比较枚举常量 。- 您可以使用该
values()
方法检索任何枚举类型的枚举常量 。该values()
方法返回一个枚举常量数组。- 枚举在编译期间提供类型安全性。这意味着如果您尝试分配除指定的枚举常量之外的任何值,您将收到编译时错误。
- 您可以在类外或类内定义枚举类型,但不能在方法或块内定义。
- 该
ordinal()
方法用于获取枚举类型中枚举常量的顺序。- 当您希望允许有限的一组选项在整个执行过程中保持不变并且您在编译时知道所有可能的选项时,主要使用枚举。例如,这可以是菜单上的选项或组合框的选项。
如果大家对于学习Java有任何问题(学习方法,学习效率,如何就业),可以随时来咨询我,这是我的Java交流学习QQ群:四九四,八零一,九三一。多多交流问题,互帮互助,群里有不错的学习教程和开发工具。