Java 20和IntelliJ IDEA,一起让开发变得更轻松!

📅 2026/8/15 14:22:32
Java 20和IntelliJ IDEA,一起让开发变得更轻松!
IntelliJ IDEA是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。相比之前的一些版本Java 20 的新增功能相对较少。 它引入了作用域值作为孵化 API通过在线程内和跨线程共享不可变数据来支持虚拟线程。 在它的第二个预览版中记录模式改进了对泛型记录模式的支持并支持在增强 for 语句中使用记录模式。 在它的第四个预览版中switch 的模式匹配改进了它在处理详尽 switch、简化 switch 标签和推断泛型记录模式的类型实参时的使用。在 Java 20 的第二个预览版中Foreign Function Memory API 继续改进其功能使 Java 代码能够与 JVM 外部的代码和数据进行对话。 虚拟线程是一种轻量级线程它将彻底改变您创建多线程应用程序的方式。虚拟线程受结构化并发支持在最新 Java 版本的另一个预览版中推出。 Vector API 目前处于第五个预览版阶段可以帮助您在代码中进行矢量计算。在本文中我将介绍IntelliJ IDEA在语言功能方面的支持例如记录模式和 switch 的模式匹配并将特别介绍最有趣的变化例如改进了泛型记录模式的类型推断、详尽 switch 语句和表达式以及增强 for 语句头中的记录模式方面的支持。IntelliJ IDEA 配置IntelliJ IDEA 2023.1中提供了对 Java 20 的支持未来的 IntelliJ IDEA 版本将提供更多支持。要使用 Java 20 中诸如记录模式和 switch 的模式匹配等新语言功能请转到ProjectSettings | Project项目设置 | 项目将 Project SDK项目 SDK设置为 20将 Project language level项目语言级别设置为20 (Preview) – Record patterns (second preview), Pattern Matching for switch (fourth preview)您可以使用系统上已经下载的任意版本 JDK也可以点击Edit编辑然后选择Add SDK Download JDK…添加 SDK 下载 JDK…来下载其他版本可以从供应商列表中选择要下载的 JDK 版本。在 Modules模块标签页上确保为模块选择相同的语言级别 –20 (Preview) – Record patterns (second preview), Pattern Matching for switch (fourth preview)选择此选项后可能会出现以下弹出窗口通知您 IntelliJ IDEA 可能会在后续版本中停止对 Java 预览语言功能的支持。 因为预览功能不是永久性的并且可能在未来的 Java 版本中发生变化甚至被移除。switch 的模式匹配在 Java 20 中switch 的模式匹配已进入第四个预览版阶段。 如果您对模式匹配完全陌生建议您参见此链接来首先了解 instanceof 模式匹配。 如果您尚不熟悉 switch 的模式匹配请参见此链接。Java 20 中对此功能进行了一些更改。 与枚举类结合使用时如果详尽 switch 语句或 switch 表达式在运行时找不到匹配的标签则 switch 的模式匹配现在会抛出 MatchException而不是抛出 ImcompatibleClassChangeError。 Java 20 中此功能的另一个变化是关于 case 标签中泛型记录模式的类型形参推断。总结​​​​​​​IntelliJ IDEA继续降低开发者使用最新 Java 功能的认知负担 IntelliJ IDEA 2023.1 支持 Java 20 中添加的对“switch 的模式匹配”和“记录模式”等语言功能的更改这些功能中最有趣的变化是支持在增强 for 语句头中使用记录模式以及改进了泛型记录模式类型实参的类型推断。