【发布时间】:2020-06-16 15:32:18
【问题描述】:
此代码抛出错误
“需要常量表达式”指向“INTEGER_CLASS_STRING”。
它是一个最终变量,尽管它是一个常数。为什么会出现此错误?
我的代码如下:
private static final String INTEGER_CLASS_STRING = Integer.class.toString();
private static final String DOUBLE_CLASS_STRING = Double.class.toString();
switch (definition.get(correctKey).getClass().toString()){
case INTEGER_CLASS_STRING: System.out.println();
case DOUBLE_CLASS_STRING: System.out.println();
}
【问题讨论】:
-
switch 语句需要一个编译时间常数——你引用的是一个函数toString。看看这个更详细的答案stackoverflow.com/a/3827424/1538039
-
我没有,因为答案是让变量“最终”,我已经做了
标签: java switch-statement final