距离 JDK 11 正式发布还有不到一个月时间,开发团队已经在围绕 JDK 12 做相关工作了。8月27日,JDK 12 的上出现了首个目标特性 —— 。
据开发团队描述,他们之前在对 Java 语言进行改进以支持 (JEP 305,模式匹配)时,发现现有的 switch 语句存在一些不规范性,这是用户烦恼的地方,也阻碍了 JEP 305 的推进。Java switch 语句的当前设计遵循 C 和 C ++ 等语言,并默认支持 fall-through 。这种传统的控制流(control flow)通常用于编写低级代码,但由于 switch 用于更高级别的上下文,因此其容易出错的特性开始超过其灵活性。
JDK 12 的 JEP 325 将对 switch 语句进行扩展,使其可以用作语句或表达式,简化日常代码。
按计划,JDK 12 会在2019年3月正式发布。许多人可能还停留在老版本,不过即将到来的 Java 11 被认为会带来新一轮的迁移潮。Java 11 是继 Java 8 之后的 LTS 版本,包含一些重要的新特性,Oracle 也会在2019 年1月停止对 Java SE 8 的免费支持,种种因素来看,升级至新的 LTS 版本确实是不错的选择。