Java 枚举与静态常量
我正在查看一些由公司其他部门维护的Java代码,顺便说一句,一些前C和C++开发人员。无处不在的一件事是使用静态整数常量,例如
class Engine {
private static int ENGINE_IDLE = 0;
private static int ENGINE_COLLECTING = 1;
...
}
除了缺少“最终”限定符之外,我对这种代码有点困扰。我本来希望看到的,从学校开始主要接受Java培训,会更像是
class Engine {
private enum State { Idle, Collecting };
...
}
但是,这些论点让我失望了。为什么后者比前者更好?