我不想使用重复标记。
package org.zzjbook.unit;
public class Unit {
private static int flag = 1;
public final static synchronized int getFlag() {
return flag++;
}
}
我使用上面的函数来获取标志。
import static org.zzjbook.unit.Unit.getFlag;
public class Out {
private final static int PRINT = getFlag();
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case PRINT:
break;
}
}
}
}
IDE提供错误。 “需要不断表达”。 我怎样才能解决这个错误。
答案 0 :(得分:3)
switch
个案需要有不变的表达式。将其更改为if
而不是:
public void handleMessage(Message msg) {
if (msg.what == PRINT) {
//...
}
}