【发布时间】:2015-04-06 14:58:55
【问题描述】:
我的代码中有以下字段:
private static final int NUM_NANOSECONDS_IN_MILLISECOND = 1000000;
有人告诉我,为了类型安全,我应该为此使用枚举。这不是我熟悉的东西。但如果是这种情况,我不知道什么时候适合在字段上使用 final 关键字。
什么时候应该使用 final 关键字而不是枚举?
【问题讨论】:
-
为什么枚举在这种情况下甚至有意义?您实际上只有一个值,而不是多个值。这也取决于使用情况;如果您要即时为其添加值,那么您可以考虑在枚举之前添加更多常量。
-
谁告诉你的?不管是谁,请他们解释并用解释编辑你的问题,因为我也不知道他们在说什么。这听起来像是更适合 C/C++ 的注释。
-
如果您使用的是 Java 1.4,则没有枚举。否则,枚举通常是更好的选择。尽管对于这种情况下的数字常量,
final int更合理。 -
@EpicPandaForce 啊,所以给他这个建议的人并没有费心去真正阅读他的代码,或者去想它。相反,他看到了
private static final int,并像巴甫洛夫的一只狗一样回应。太棒了。 -
我想知道这个人会对docs.oracle.com/javase/8/docs/api/constant-values.html做出什么反应...