Primitive Typen in Mustern
Pattern Matching funktioniert jetzt auch mit primitiven Typen, nicht nur mit Objekten.
Code-Vergleich
✕ Java 8
String classify(int code) {
if (code >= 200 && code < 300)
return "success";
else if (code >= 400 && code < 500)
return "client error";
else
return "other";
}
✓ Java 25 (Preview)
String classify(int code) {
return switch (code) {
case int c when c >= 200
&& c < 300 -> "success";
case int c when c >= 400
&& c < 500 -> "client error";
default -> "other";
};
}
Problem mit diesem Code entdeckt? Sag uns Bescheid.
Warum der moderne Weg gewinnt
Kein Boxing
Primitive direkt abgleichen – kein Integer-Wrapper erforderlich.
Muster-Konsistenz
Dieselbe Muster-Syntax für Objekte und Primitive.
Bessere Performance
Autoboxing-Overhead beim Pattern Matching vermeiden.
Alter Ansatz
Manuelle Bereichsprüfungen
Moderner Ansatz
Primitive Muster
Seit JDK
25
Schwierigkeitsgrad
Experte
JDK-Unterstützung
Primitive Typen in Mustern
Vorschau
Vorschau in JDK 25 (dritte Vorschau, JEP 507). Erfordert --enable-preview.
Wie es funktioniert
Java 25 erweitert Pattern Matching auf primitive Typen. int, long, double usw. können in Switch-Mustern mit when-Wächtern verwendet werden, wodurch Boxing oder manuelle Bereichsprüfungen entfallen.
Zugehörige Dokumentation