<分区>
Possible Duplicate:
using enum in switch/case
给定枚举
public enum ExitCodes {
DESPITE_MULTIPLE_ATTEMPTS_CONNECTION_TO_SERVER_FAILED(-1),
PROGRAM_FINISHED_SUCCESSFULLY(0),
// ... more stuff
private final int id;
ExitCodes(final int id) {
this.id = id;
}
public int getValue() {
return id;
}
}
作为另一个类(class)的一部分,我想
switch (exitCode) {
case ExitCodes.PROGRAM_FINISHED_SUCCESSFULLY.getValue():
// do stuff
失败,需要常量表达式
这是为什么?据我了解,ExitCodes
中分配给 id 的数值是 Constant (final
)
请问如何纠正?