switch语句中需要java常量表达式
我想在switch语句中使用全局常量。我以这种方式在一个名为ColorManager
的单例中编写常量
public static final int blue = 3;
public static final int red = 5;
public static final int black = 7;
在我的HomeActivity
中,我编写了这段代码
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
ColorManager cm = ColorManager.getInstance(this);
switch (requestCode) {
case cm.blue: {
}
case cm.red: {
}
case cm.black: {
}
}
}
但是我在switch语句中得到一个错误:
Constant expression required
这些值是最终的,所以是恒定的,我不明白为什么会出现这个错误。我发现了类似的主题,但在所有情况下,属性都没有被声明为最终属性
# 1 楼答案
使用类名。变量,即颜色管理器。红色的
# 2 楼答案
试试这个代码