使用常量时需要的常量表达式

时间:2017-03-06 15:38:34

标签: switch-statement case constants final

  

private static int counter = 0;
public static final int   CLIENT_REQUEST_TIME = counter ++;

     

...

     

switch(command){
case case Command.CLIENT_REQUEST_TIME:

     

...

但是来了

  

“错误:(20,25)java:需要常量表达式”,

用于案例陈述。

但为什么到地球?因为CLIENT_REQUEST_TIME是常量

我知道这应该是针对Oracle的,我可以从数以百万计的变通方法中进行选择......但是为了防止有人看到背后的某些逻辑,它肯定会让我今晚睡得更好:)

1 个答案:

答案 0 :(得分:0)

出现此错误是因为您将常量属性设置为常量字段。我不明白这段代码必须做什么,但可能你可以把它改成这样:

private static int counter = 0; public static int CLIENT_REQUEST_TIME = counter++;