· Michael Stöckler · Development  · 2 min read

Java 24: Primitive Types in Patterns, instanceof and switch

Java 24 erweitert das Pattern Matching mit Unterstützung primitiver Typen und revolutioniert damit die Typisierung und Verarbeitung von Daten. Entwickler können nun Primitive in instanceof, switch und Patterns verwenden und gewinnen dadurch mehr Flexibilität und Lesbarkeit bei Typumwandlungen.

Java 24 erweitert das Pattern Matching mit Unterstützung primitiver Typen und revolutioniert damit die Typisierung und Verarbeitung von Daten. Entwickler können nun Primitive in instanceof, switch und Patterns verwenden und gewinnen dadurch mehr Flexibilität und Lesbarkeit bei Typumwandlungen.

Mit JDK 24 wird eine bedeutende Erweiterung des Pattern Matching eingeführt: die Unterstützung primitiver Typen in Patterns, instanceof und switch-Anweisungen. Diese Neuerung verspricht, den Code lesbarer und ausdrucksstärker zu machen.

Was ändert sich?

Bisher war das Pattern Matching auf Referenztypen beschränkt. Mit JDK 24 können nun auch primitive Typen wie int, long, float, double, etc. in Patterns verwendet werden. Dies gilt für:

  1. Type Patterns in instanceof-Ausdrücken
  2. Switch-Ausdrücke und -Anweisungen
  3. Record Patterns

Beispiele

instanceof mit primitiven Typen

double value42 = 42;
if (value42 instanceof int n) {
System.out.println("Die Zahl ist: " + n);
}
// Ausgabe: "Die Zahl ist 42"

Switch mit primitiven Typen

Object value = 3.14;
String result = switch (value) {
case Integer i -> "Integer: " + i;
case float f -> "float: " + f;
case long l -> "long: " + l;
case double d -> "double: " + d;
case Double df -> "Double: " + df;
case String s -> "String: " + s;
default -> "Unbekannter Typ";
};
System.out.println(result);
// Ausgabe: "Double: 3.14"

Vorteile

  1. Verbesserte Lesbarkeit: Der Code wird klarer und prägnanter.
  2. Weniger Typumwandlungen: Explizite Casts werden in vielen Fällen überflüssig.
  3. Konsistenz: Die Behandlung von primitiven und Referenztypen wird vereinheitlicht.
  4. Fehlerreduktion: Typfehler werden früher erkannt, oft schon zur Kompilierzeit.

Auswirkungen auf die Entwicklung

Diese Erweiterung wird besonders nützlich sein bei:

  • Der Verarbeitung von Daten unbekannten Typs
  • Der Implementierung von generischen Algorithmen
  • Der Arbeit mit APIs, die Object-Typen zurückgeben

Entwickler können nun elegantere und sicherere Code-Strukturen erstellen, insbesondere wenn sie mit gemischten Datentypen arbeiten.

Diese Verbesserung des Pattern Matching ist ein weiterer Schritt in Javas kontinuierlicher Entwicklung zu einer ausdrucksstärkeren und entwicklerfreundlicheren Sprache.

Back to Blog

Related Posts

View All Posts »
Flexible Konstruktorkörper in Java 24

Flexible Konstruktorkörper in Java 24

Java 24 bringt mit flexiblen Konstruktorkörpern eine lang erwartete Verbesserung in der Objekterstellung. Dieses Feature, nun in der dritten Preview, verspricht robustere und lesbarere Konstruktoren und steht möglicherweise kurz vor der Finalisierung.