Add patterns module: pattern matching from JDK 21 to 27

Type, record and primitive patterns, guards, sealed exhaustiveness, MatchException via separate compilation, and eight captured transcripts.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01TF9JWFvJSNm6HVzswzZU5a
This commit is contained in:
Claude
2026-09-24 11:50:40 +00:00
parent 96b25c8fc4
commit bc91b9c8d0
36 changed files with 736 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
public class PrimitiveInstanceof {
static String describe(int i) {
if (i instanceof byte b) return i + " fits in a byte: " + b;
if (i instanceof short s) return i + " fits in a short: " + s;
return i + " needs an int";
}
static void floats(double d) {
if (d instanceof float f) System.out.println(d + " converts to float " + f + " without loss");
else System.out.println(d + " does NOT convert to float without loss");
}
public static void main(String[] args) {
System.out.println(describe(100));
System.out.println(describe(1000));
System.out.println(describe(100000));
floats(0.5);
floats(0.1);
}
}