[英]Constant expression required in switch case
I have already initialized constant expressions for my string. 我已经为我的字符串初始化了常量表达式。 What seems to be the problem here?
这里似乎是什么问题?
The error I am getting is "constant expression required". 我得到的错误是“需要常量表达式”。
Below is my code, 下面是我的代码,
public class VatCalculator {
private static int ONBOARD_SALE =1;
private static int ONBOARD_SERVICE =2;
private static int PREORDER_SALE =3;
private static int PREORDER_SERVICE =4;
private static final Map<String, Integer> serviceMap = new HashMap<String, Integer>();
static {
serviceMap.put("onboardSale", ONBOARD_SALE);
serviceMap.put("onboardService", ONBOARD_SERVICE);
serviceMap.put("preorderSale", PREORDER_SALE);
serviceMap.put("preorderService", PREORDER_SERVICE);
}
public static double calculate(String serviceGroup) {
int type = serviceMap.get(serviceGroup);
switch(type) {
//error at below line
case ONBOARD_SALE:
//do something
default:break;
}
}
用这个:
private static final int ONBOARD_SALE = 1;
check brace 检查括号
public class VatCalculator {
private static int ONBOARD_SALE =1;
private static int ONBOARD_SERVICE =2;
private static int PREORDER_SALE =3;
private static int PREORDER_SERVICE =4;
private static final Map<String, Integer> serviceMap = new HashMap<String, Integer>();
static {
serviceMap.put("onboardSale", ONBOARD_SALE);
serviceMap.put("onboardService", ONBOARD_SERVICE);
serviceMap.put("preorderSale", PREORDER_SALE);
serviceMap.put("preorderService", PREORDER_SERVICE);
}
public static double calculate(String serviceGroup) {
int type = serviceMap.get(serviceGroup);
switch(type) {
//error at below line
case ONBOARD_SALE:
//do something
default:break;
}
}
} //<-- add like this brace
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.