Java 17中switch的case default报错:需源码级别20及以上
解决Java 17中Switch默认分支的语法错误
错误原因:你代码里的
case default:是Java 20及以上版本才引入的「模式匹配Switch」预览特性语法,而当前使用的Java 17并不支持这个语法,因此Eclipse抛出了版本不兼容的错误提示。修复方案:将
case default:替换为Java标准的default:分支写法,这是Java 17及更早版本通用的Switch默认分支语法。
修正后的完整代码:
package com.learningjava.conditionals; public class SwitchExcercises { public static boolean isWeekDay(int dayNumber) { switch (dayNumber) { case 0: case 1: case 2: case 3: case 4: return true; case 5: case 6: return false; default: // 改为标准默认分支写法 return false; } } }
- 额外Eclipse配置确认:确保项目源码级别与Java 17匹配:
- 右键项目 → 「Properties」→ 「Java Compiler」
- 勾选「Use compliance from execution environment 'JavaSE-17' on the 'Java Build Path'」
- 确认「Compiler compliance level」设置为17
内容的提问来源于stack exchange,提问作者Junk Mail
相关产品推荐
相关产品推荐

