The goal of project Amber within OpenJDK is to explore the inclusion of smaller, productivity-oriented Java language features. One part of this that has delivered new functionality in recent versions is pattern matching. Pattern matching combines application code logic to test if an expression has a specific type or structure and extract components of its state for processing. Pattern matching is now well embedded in the Java language using the following features, defined by JDK Enhancement Proposals (JEPs) • Pattern matching for instanceof (JEP 305, 375, 394, 433) • Pattern matching for switch (JEP 406, 420, 427, 441) • Record patterns (JEP 405, 432, 440) • Unnamed patterns and variables (JEP 443) In this session, we’ll look at the details of these new language features and a more general look at pattern matching. We’ll also explore future features in this area such as array patterns, which may be included in a subsequent Java release. By the end of the session, you’ll be ready to use these powerful new features.

Talk Level:

Simon Ritter is the Deputy CTO of Azul Systems. Simon has been in the IT business since 1984 and holds a Bachelor of Science degree in Physics from Brunel University in the U.K. Originally working in the area of UNIX development for AT&T UNIX System Labs and then Novell, Simon moved to Sun in 1996. At this time, he started working with Java technology and has spent time working both in Java development and consultancy. Having moved to Oracle as part of the Sun acquisition, he managed the Java Evangelism team for the core Java platform, Java for client applications and embedded Java. Now at Azul, he continues to help people understand Java as well as Azul’s JVM technologies and products.