The goal of project Amber within OpenJDK is to explore the inclusion of smaller, productivity-oriented Java language features, now including pattern matching.
Pattern matching is where application logic combines testing if an expression has a specific type or structure and then extracting components of its state for processing.
Pattern matching for instanceof was made a full feature in JDK 16. This simplifies the use of this operator by eliminating the need for an explicit cast and assignment. In JDK 17, JEP 406 added pattern matching for switch. It is now possible to include patterns in switch case labels.
In this session, we’ll look at the details of these two new language features, as well as a more general look at pattern matching. We’ll also explore future features in this area, such as record patterns and array patterns, which may be included in subsequent Java releases.