【发布时间】:2013-10-24 08:59:39
【问题描述】:
我的问题与Is making an empty string constant worth it?有关。
我知道常量应该有有意义的名称,但是在常量文件中提取原始值(如 Java 中的整数)有什么好处,例如:
public final static int ZERO = 0;
用作通用常量并在您的代码库中像Constants.ZERO一样继续重用它,还是更好地使用字面值0?
通用布尔值呢?即
public static final boolean TRUE = true;
public static final boolean FALSE = false;
【问题讨论】:
-
对于这 3 个,不,没有任何好处。
-
对于除
booleans 以外的原始常量,最好使用常量变量以方便维护。在booleans 的情况下,没有任何好处。 -
@SotiriosDelimanolis 对于
ints 等原始类型使用常量是有好处的。参考stackoverflow.com/q/47882/1065197 -
@Luiggi 我非常怀疑
ZERO会不会改变。 -
@LuiggiMendoza 一个常量如果给常量一个语义值是很有用的。
MAX_ITEMS是一个有用的常量。FIVE不是(除非您希望在更改其值时拥有FIVE = 10)。