Java update due in September would enhance pattern matching by allowing primitive type patterns in all pattern contexts. Credit: Marina_Skoropadskaya / Getty Images Although not expected to arrive until September, Java Development Kit 23 already has been assigned its first feature, an enhancement to pattern matching. JDK 23 would follow JDK 22 by six months. JDK 22 is due in March with capabilities such as previews of structured concurrency and string templates. The OpenJDK page for JDK 23 lists a preview of primitive types in patterns, instanceof, and switch as the first feature targeted for the release. This JDK enhancement proposal would enhance pattern matching by allowing primitive type patterns in all pattern contexts. Goals of the proposal include enabling uniform data exploration by allowing type patterns for all types, whether primitive or reference; aligning type patterns with instanceof and aligning instanceof with safe casting; and allowing pattern matching to use primitive pattern type patterns in both nested and top-level contexts. Other goals include providing easy-to-use constructs that eliminate the risk of losing information due to unsafe casts, and allowing switch to process values of any primitive type. Motivating the proposal is the desire to eliminate multiple restrictions pertaining to primitive types that “impose friction” on developers when using pattern matching, instanceof, and switch. Eliminating these restrictions would make Java more uniform and more expressive, the proposal states. Other features likely to be included in JDK 23 are those being previewed in JDK 22, such as the class-file API and string templates. Oracle publishes new versions of standard Java every six months, in March and September. The current release of standard Java is JDK 21, which was released last September with features such as virtual threads and a generational Z garbage collector. Related content feature What is Rust? Safe, fast, and easy software development Unlike most programming languages, Rust doesn't make you choose between speed, safety, and ease of use. Find out how Rust delivers better code with fewer compromises, and a few downsides to consider before learning Rust. By Serdar Yegulalp Nov 20, 2024 11 mins Rust Programming Languages Software Development how-to Kotlin for Java developers: Classes and coroutines Kotlin was designed to bring more flexibility and flow to programming in the JVM. Here's an in-depth look at how Kotlin makes working with classes and objects easier and introduces coroutines to modernize concurrency. By Matthew Tyson Nov 20, 2024 9 mins Java Kotlin Programming Languages analysis Azure AI Foundry tools for changes in AI applications Microsoft’s launch of Azure AI Foundry at Ignite 2024 signals a welcome shift from chatbots to agents and to using AI for business process automation. By Simon Bisson Nov 20, 2024 7 mins Microsoft Azure Generative AI Development Tools news Microsoft unveils imaging APIs for Windows Copilot Runtime Generative AI-backed APIs will allow developers to build image super resolution, image segmentation, object erase, and OCR capabilities into Windows applications. By Paul Krill Nov 19, 2024 2 mins Generative AI APIs Development Libraries and Frameworks Resources Videos