Typy prymitywne we wzorcach
Dopasowanie wzorców działa teraz z typami prymitywnymi, nie tylko z obiektami.
Porównanie kodu
✕ 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";
};
}
Widzisz problem z tym kodem? Daj nam znać.
Dlaczego nowoczesne podejście wygrywa
Bez boxing
Dopasowuj prymitywy bezpośrednio — żadnego opakowania Integer nie potrzeba.
Spójność wzorców
Ta sama składnia wzorców dla obiektów i prymitywów.
Lepsza wydajność
Unikaj narzutu autoboxing w dopasowaniu wzorców.
Stare podejście
Ręczne sprawdzanie zakresów
Nowoczesne podejście
Wzorce prymitywów
Od JDK
25
Poziom trudności
Zaawansowany
Wsparcie JDK
Typy prymitywne we wzorcach
Preview
Wersja zapoznawcza w JDK 25 (trzeci podgląd, JEP 507). Wymaga --enable-preview
Jak to działa
Java 25 rozszerza dopasowanie wzorców na typy prymitywne. Możesz używać int, long, double itd. we wzorcach switch ze strażnikami when, eliminując potrzebę boxing lub ręcznego sprawdzania zakresów.
Powiązana dokumentacja
Dowód