0

Java 18 功能支持

 2 years ago
source link: https://blog.jetbrains.com/zh-hans/idea/2022/03/java-18-features-support/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
IntelliJ IDEA Java

Java 18 功能支持

Sue
Sue 2022年3月28日

Read this post in other languages:
English, Français

Java 18 现已发布,从 2022.1 版本开始,IntelliJ IDEA 将提供对它的支持。

对代码段的支持

JDK 18 引入了 JavaDoc 标准 Doclet 的 @snippet 标记,用于简化在 API 文档中包含示例源代码的操作。

即使没有显式包装器,代码段片段仍会被识别为 Java 代码。 任何语言都可以被指定,并且语言注入功能也适用于代码段。 例如,可导航引用将适用于通过 import 可用的所有元素:

没有必要使用类的绑定编写代码段中的所有代码。 片段将被 IntelliJ IDEA 识别为与 JShell 片段类似。

switch 表达式的模式:第二预览

JDK17 中引入的 switch 表达式的模式匹配规范现已更新,添加了 IntelliJ IDEA 中已经支持的两个基本变更:

  • 任何类型的模式(包括受保护的模式)都支配着常量 case。 模式和非常量 case 的支配没有改变。
  • 对于密封层次结构,子类型有时不能用于选择器类型,或者不能转换为选择器类型。 您不再需要处理这些子类型来使 switch 语句详尽无遗。

从 Java 18 开始,非静态内部类(无论是否匿名)如果未使用就不会捕获 `this`,因此检查 Cleaner captures object reference(清理器捕获对象引用)已相应更新。 它不会在代码中触发以下警告:

The inspection: Java | Probable bugs | Cleaner captures object reference
(检查:Java | 可能的错误 | 清理器捕获对象引用)

此外,在 JDK18 中,默认字符集现在是 UTF-8,而不是根据平台存在的不同默认字符集。 报告隐式使用平台默认字符集的方法和构造函数调用的 Implicit platform default charset(隐式平台默认字符集)检查已相应更新。

本博文英文原作者:

Sue

Olga Klisho


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK