我正在使用MacOS,我想在IntelliJ Idea中试用Java 21.我相信我已经完成了更改项目/模块的Java版本所需的所有步骤.尽管如此,我仍然不能使用新的Java 21功能,比如String Templates.如何在IntelliJ中使用Java 21?

enter image description here

我已经改变了:

  • Project SDK升级到21

  • 模块SDK升级到21

  • OS Java版本升级至21.在终端输出中键入java -version:

    Java版本"21"2023-09-19 LTS

    Java(TM)SE运行时环境(Build 21+35-LTS-2513)

    Java HotSpot(TM)64位服务器VM(内部版本号21+35-LTS-2513,混合模式,共享)

  • 我还将IntelliJ更新到最新版本:2023.2

推荐答案

经过进一步的研究,Choose Boot Java Runtime for the IDE次行动几乎毁掉了我的 idea (不要用这个),我找到了答案.

我需要将IntelliJ版本更新到2023.2.2,并将语言级别(文件-项目 struct -项目-语言级别)更改为21(预览)

language level 21 (preview) The new language level won't show up until Intellij is updated to the latest version.

要更新IntelliJ,我需要手动判断是否有新的更新,这可以通过以下方式完成: IntelliJ IDEA->;判断更新

enter image description here

Java相关问答推荐

Spring Webocket:尽管凭据设置为False,但MLhttpsify和Fetch请求之间的CORS行为存在差异

强制Mockito返回null而不是emtpy list

工件部署期间出错[Tomcat 8.5.45]

JVM会优化这个数学运算吗?

将关键字与正文中的_Allowed匹配,但带有__Signing可选后缀

JPanel透支重叠的JComcoBox

在Spring Boot中使用哪个Java类来存储创建时间戳?

每次FXMLLoader调用ApplationConext.getBean(类)时创建@Component的新实例

如何将Pane的图像快照保存为BMP?

在Frege中,我如何将一个字符串安全地转换为一个可能的Int?

寻找Thread.sky()方法的清晰度

使用迭代器遍历HashMap不会因IF条件而停止

在线程Java中调用Interrupt()之后调用Join()

根据应用程序 Select 的语言检索数据

具有多个分析模式的复杂分隔字符串的正则表达式

控制器建议异常处理

如何在Spring Boot中为不同的部署环境管理多个.properties文件?

使用DynamoDB增强客户端时未更新属性

如何组合Mono和Flux

声纳覆盖范围为 0%,未生成 jacoco.xml