【发布时间】:2015-10-06 21:59:32
【问题描述】:
我为什么要写作(正如我的同事所说):
import static org.apache.commons.lang.math.NumberUtils.INTEGER_ONE;
if (myIntVariable == INTEGER_ONE) { ... }
代替:
if (myIntVariable == 1) { ... }
?
我知道建议使用常量,但我认为NumberUtils.INTEGER_ONE 的值永远不会改变!所以我写1。
【问题讨论】:
-
如果它是您自己的自定义常量,那么以这种方式使用是有意义的。
-
也许你可以问你的同事这个问题?他/她可能有一个我们不知道的特定理由使用它。
-
@FlorentBayle 我的同事在任何地方都使用常量!他用常数替换了每个数字或字符串!他对我的 Why 的回答是“文档说要使用常量!”;是的,他太吹毛求疵了。
-
@Michele:你问过哪个文档说要使用常量吗?
-
官方代码约定中提到了如何处理常量。当语言设计者有关于如何处理常量的官方指南时,无需以“基于意见”的方式关闭。