【问题标题】:What are best practices when implementing an enum in Java? [closed]在 Java 中实现枚举时的最佳实践是什么? [关闭]
【发布时间】:2020-05-09 17:56:11
【问题描述】:

在实现枚举时,我们应该处理它的序列化还是标准 Java 处理它? 还有一点是关于 null 安全性的,我们如何确保枚举是 null 安全的?

【问题讨论】:

  • “确保枚举是空值安全的” 是什么意思?当你访问一个枚举常量时,它永远不会是null
  • 也许如果你发布一些代码,它会让你更清楚地知道你想要做什么。
  • Java 已经专门处理枚举序列化。你不需要做任何事情。定义“零安全”。

标签: java serialization enums


【解决方案1】:

枚举定义了常量。这意味着在编译时您知道某种类型的所有可能值,并在 enum 数据类型中枚举它。

public enum Day {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
    THURSDAY, FRIDAY, SATURDAY 
}

这并不意味着你不能拥有这样的东西:

Day today = null;

Enum 实现 Serializable 然后它是 Serializable 并且toString() 的默认实现返回常量的名称。

更多信息请参考documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多