【发布时间】:2016-04-26 12:34:50
【问题描述】:
我已经为我的字符串初始化了常量表达式。这里似乎有什么问题?
我得到的错误是“需要常量表达式”。
下面是我的代码,
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;
}
}
【问题讨论】:
-
(枚举可能会更好。)
标签: java switch-statement constants