-
开关语句报错?Constant expression required 🐛💡
郎才固2025-03-23 20:34:00 科技 -
导读 最近在写代码时遇到一个头疼的问题——`switch`语句居然报错了,提示是`Constant expression required_switch constant`。这让我有点懵...
最近在写代码时遇到一个头疼的问题——`switch`语句居然报错了,提示是`Constant expression required_switch constant`。这让我有点懵,明明语法看起来没问题啊!😅 其实问题出在`case`后面的值必须是常量表达式。比如,不能用变量或者非静态成员作为`case`标签,因为编译器需要确定每个分支的具体值。😭
举个例子,像下面这段代码就会出错:
```java
int num = 5;
switch (num) {
case num: // 报错!num不是常量
System.out.println("这不是常量!");
break;
}
```
解决方法也很简单,把`case`后的值改为常量即可。比如改成:
```java
switch (num) {
case 5:
System.out.println("终于匹配啦!");
break;
}
```
这样一切正常,小错误被我成功修复了!🎉 如果你也遇到类似问题,记得检查`case`里的值是否为常量哦~
标 签:
免责声明:本文由用户上传,如有侵权请联系删除!