如何解决我们什么时候应该在常规常量变量上使用枚举?
枚举是一个特殊的类,它包含一组常量。如果我们想在 Java 中将字段(变量)声明为常量,我们将使用关键字 final。我们什么时候应该在常规常量变量上使用枚举?
解决方法
enum
的优点:类型安全
例如,考虑月份,如果我们有常量 int
(static final int JANUARY = 1
)1 那么变量或方法参数必须是声明为 int
并接受任何整数值,无论是否有效(例如 setMonth(123)
或 setMonth(0)
)。
如果我们有一个 enum
,那么变量或方法参数只能接受它的值 - 可以在编译时检测到错误(错误的常量)(例外:null
也可以被分配/传递而不是一个 enum
,就像任何引用类型一样)。
1:与 Calendar
(JANUARY = 0)
Oracle 官方教程Enum Types:
当您需要表示一组固定的常量时,您应该使用枚举类型。这包括自然枚举类型,例如我们太阳系中的行星,以及您在编译时知道所有可能值的数据集——例如,菜单上的选项、命令行标志等。
,枚举通常用于相关的常量组。例如,shirt_sizes
可能是 Small,Medium,Large,X-Large
的枚举等等。这些将始终相同,我们在编写程序时就知道它们是什么。
如果您想进一步阅读有助于解释我们使用枚举的原因,请查看这篇文章 https://crunchify.com/why-and-for-what-should-i-use-enum-java-enum-examples/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。