是否值得在Java中保留原语的常量?

aru*_*run 2 java primitive

我的问题与制作一个空字符串常量值得吗?.

我知道常量应该有有意义的名称,但是在Constants文件中提取原始值(例如Java中的int)有什么好处,例如:

public final static int ZERO = 0;
Run Code Online (Sandbox Code Playgroud)

用作通用常量并继续像Constants.ZERO在代码库中一样重复使用或更好地使用0的字面值?

通用布尔怎么样?即

public static final boolean TRUE = true;
public static final boolean FALSE = false;
Run Code Online (Sandbox Code Playgroud)

rge*_*man 5

对于你定义的常数,没有理由,因为没有额外的意义.的文字0,truefalse已经有它们的意义.

如果附加到这些值有一些额外的含义,则常量值得创建,例如:

public static final int SUCCESS = 0;
public static final boolean DEBUG = true;
Run Code Online (Sandbox Code Playgroud)

这些价值观背后有意义,它们可能会改变:

public static final int SUCCESS = 1;
public static final boolean DEBUG = false;
Run Code Online (Sandbox Code Playgroud)

这会比更改程序中的大量文字更容易更改值.

如果值的含义超出了它们的字面值,并且它们可以改变,那么创建常量值得付出努力.