IntelliJ 2021.2.1社区版Java 12无法编译switch expressions问题
解决IntelliJ 2021.2.1编译Java 12 switch表达式报错问题
IntelliJ 2021.2.1版本已将非长期支持版本的单独预览语言级别选项从下拉列表中移除,无需升级到Java 14,按以下步骤配置即可正常编译:
步骤1:确认基础项目配置
- 打开
File → Project Structure → Project选项卡 - 确认Project SDK已选择本地安装的Java 12版本
- 将Project language level设置为
12 - No new language features
步骤2:添加预览功能开启参数
- 打开
Settings → Build, Execution, Deployment → Compiler → Java Compiler - 找到对应项目的模块,在「Additional command line parameters」列填入参数:
--enable-preview - 如果需要全局对所有Java 12项目生效,可在顶部全局参数配置栏添加相同参数
步骤3:检查模块级配置(避免配置被覆盖)
- 回到
Project Structure界面,切换到Modules选项卡 - 逐一确认项目下所有子模块的Language Level均为12,没有被单独设置为更低版本
说明:Java 12的switch expression属于预览功能,默认处于关闭状态,旧版IntelliJ的「Java 12 Preview - Switch Expression」选项本质就是自动帮用户添加
--enable-preview参数,新版移除单独选项后手动加参数即可实现相同效果。
内容的提问来源于stack exchange,提问作者Giorgi Tsiklauri
相关产品推荐
相关产品推荐

