

To use pattern matching for switch with Java 17, go to ProjectSettings | Project, set the Project SDK to 17 and set Project language level to ‘ 17 (Preview) – Pattern matching for switch’: More support is on the way in future IntelliJ IDEA releases. It also helps replace if-else statement chains with switch, improving code readability.īefore we dive into pattern matching for switch, let’s ensure we have the basic IntelliJ IDEA configuration set up.īasic support for Java 17 is available in IntelliJ IDEA 2021.2.1. Also, case labels are no longer limited to constant values. The type of the selector expression that can be used with a switch is expanded to any reference value. As the name suggests, it adds patterns to the case labels in the switch statements and switch expressions. Pattern matching for switch is introduced as a preview feature. Now a visible class or interface doesn’t need to be implicitly extensible. Sealed classes decouple accessibility from extensibility. You can use this link for a comprehensive list of all the new Java 17 features.Īdded as a standard Java language feature in Java 17, sealed classes enable you to control the hierarchies to model your business domain. I will also highlight how these features can reduce the cognitive complexity for developers. I’ll cover what these features are, why you might need them, and how you can start using them in IntelliJ IDEA. In this blog post, I will limit the coverage of Java 17 to its language features – Sealed Classes and Pattern Matching for switch. If you have been waiting to move on from Java 8 or 11, now is the time to weigh its advantages.


Given that Java 17 is also an LTS release, it’s not just the developers but enterprises also noticing it. A new Java release every six months can be exciting, overwhelming, or both.
