Java Switch Evolution: From Statements to Expressions

Evolution of Java switch: From Statements to Powerful Expressions Java’s switch has transformed from a verbose control statement into a clean, expressive feature: 🔹 Java 7 – String support 🔹 Java 12–14 – Switch expressions (->, yield) 🔹 Java 17 (Preview) – Pattern matching & guards 🔹 Java 21 – Pattern matching becomes standard   🔹 Before (Java 7–11) Verbose, error-prone, and requires break.   String result; switch (day) { case "MONDAY": case "FRIDAY": result = "Working"; break; case "SUNDAY": result = "Resting"; break; default: result = "Unknown"; } 🔹 After (Java 14+ Switch Expression) Cleaner, no fall-through, returns value directly.   String result = switch (day) { case "MONDAY", "FRIDAY" -> "Working"; case "SUNDAY" -> "Resting"; default -> "Unknown"; }; 🔹 Java 21: Pattern Matching & Guards Type checks and conditions without casting.   String output = switch (obj) { case Integer i -> "Integer: " + i; case String s when s.length() > 10 -> "Long string"; case String s -> "Short string"; case null -> "Null value"; default -> "Unknown type"; }; 👉 Still using traditional switch? Modern Java has much more to offer.   #Java #Java21 #ModernJava #CleanCode #Backend #SoftwareEngineering

To view or add a comment, sign in

Explore content categories