Posts

Showing posts from July, 2026

Pattern Matching in Modern Java (instanceof and switch)

Image
 One of the features that was introduced in Java 16 is Pattern Matching for instanceof and was finalized in Java 21. 1 - Pattern Matching for instanceof: In the old way, when we needed to check an object's type, we required a conditional check followed by an explicit, manual cast. Pattern matching combines these two steps into an atomic operation. Example: // Traditional Java (Boilerplate-heavy)   if (obj instanceof String) {       String s = ( String ) obj; // Manual cast required        System.out.println( s .toUpperCase());  }  // Modern Java (Pattern Matching)   if (obj instanceof String s) {         System.out.println(s.toUpperCase());       // 's' is automatically cast and ready   } Flow Scoping: The binding of variable(s) uses flow scoping. It is only in scope where the compiler can deduce that the type check has succeeded. if(obj instanceof String s &&...