Java定义具有相同变量名称和值的字符串常量

时间:2016-08-01 04:10:26

标签: java string constants

大多数时候,我定义为

public static final String PROCESS_ID ="PROCESS_ID";
public static final String CONTRACT_ID ="CONTRACT_ID";

//It ends up doing lot like this
public static final String VARIABLE_NAME ="VARIABLE_NAME";
public static final String OTHER_NAME ="OTHER_NAME";

摆脱这种情况的好习惯是什么? 代码审查总是说"不要硬编码,使用常量"

枚举更好吗?

2 个答案:

答案 0 :(得分:0)

更好的做法是:

public static final ContractualInfo CONTRACT = new ContractualInfo(0, "CONTRACT_ID");

public static final ContractualInfo PROCESS = new ContractualInfo(1, "PROCESS_ID");

答案 1 :(得分:0)

这样做可以让您和将来的开发人员轻松更改可能在应用程序的多个区域中使用的内容。

例如,DAO中的表名。如果您在常量中定义表名,则意味着更改表名只需要进行一次更改,而不是在多个位置更新表名。

  

摆脱这种情况的好习惯是什么?

检查您公司的编码风格指南并按照他们的意愿行事。如果您只是自己编码,请自行决定并尝试一致地遵循它们。

  

枚举更好吗?

可以。如果需要在任何类型的列表中处理这些常量,或者如果每个常量都有其他关联的常量,则枚举可能是合适的。再次,请参阅您的编码指南或制定一些编码指南。