【问题标题】:any difference between declaring static strings versus enums [duplicate]声明静态字符串与枚举之间的任何区别[重复]
【发布时间】:2013-07-23 20:59:27
【问题描述】:

声明静态字符串和枚举有什么不同吗?示例:

public static final String SUNDAY = "SUNDAY";

enum WEEK
{
    SUNDAY;
}

【问题讨论】:

  • 是的。一个是String,另一个是enum
  • stackoverflow.com/a/1858927/2610743 - 这将为您提供有关何时使用典型常量以及何时使用枚举的大量信息。
  • 这是非常主观的。理论差异?许多。实际差异?在您打算使用它们的上下文中几乎没有(您甚至可以在 Java 1.7+ 中切换字符串)。

标签: java


【解决方案1】:

如果您的应用将星期几作为一种类型处理,那么使用枚举可以保持类型安全,防止您在处理星期几时出错。如果将其设为字符串,则日期类可以轻松打印“今天是 JOE SCHMOE,7 月 23 日。”

【讨论】:

    【解决方案2】:

    使用枚举来限定名称。你必须写WEEK.SUNDAY 而不仅仅是SUNDAY,这将使你的代码更清晰。同样在 1.7 之前,您不能在 switch 语句中使用字符串。

    【讨论】:

      猜你喜欢
      • 2016-01-02
      • 2015-04-26
      • 2017-04-19
      • 2014-06-01
      • 1970-01-01
      • 2013-10-27
      • 2016-04-20
      • 2018-10-22
      相关资源
      最近更新 更多