JDK 20:switch语句和表达式的模式匹配将在2023年3月发布的下一版标准Java中进行第四次预览。
Java 20是标准Java的下一个计划版本,最近又增加了四个拟议的功能,尽管它们是以前在标准Java中预览或孵化的功能,现在又要预览(或孵化)了。为Java 20 或JDK(Java开发工具包)20新提议的功能是第二次预览记录模式、外来函数和内存API以及虚拟线程。结构化并发将在JDK 20中重新孵化。
这些都加入了之前提出的功能,即switch
语句和表达式的模式匹配,预计将在即将发布的Java SE(标准版)中进行第四次预览。尽管OpenJDK的JDK 20网页仍然没有列出计划发布的功能,但OpenJDK的Java增强建议(JEP)索引引用了这五个功能。
MemorySegment
和MemoryAddress
抽象,增强MemoryLayout
层次结构,以及将MemorySession
拆分为Arena
和SegmentScope
以促进跨维护边界的段共享。Record Patterns
的持续共同发展,Record Patterns
也作为预览包含在JDK 19中,允许根据经验和反馈进行持续改进。自第三次预览以来,switch的模式匹配的主要变化包括简化switch标签的语法,以及支持switch语句和表达式中通用模式和记录模式的类型参数的推断。另外,如果在运行时没有切换标签适用,对一个枚举类的详尽切换现在会抛出MatchException
而不是IncompatibleClassChangeError
。JDK 20的其他可能功能包括通用泛型和字符串模板。JDK 20的早期访问版本可以在jdk.java.net
上找到。