Language Początkujący

Połącz sprawdzanie typu i rzutowanie w jednym kroku za pomocą dopasowania wzorców.

✕ Java 8
if (obj instanceof String) {
    String s = (String) obj;
    System.out.println(s.length());
}
✓ Java 16+
if (obj instanceof String s) {
    IO.println(s.length());
}
Widzisz problem z tym kodem? Daj nam znać.
🔄

Brak redundantnego rzutowania

Sprawdzenie typu i powiązanie zmiennej odbywają się w jednym wyrażeniu.

📏

Mniej linii

Jedna linia zamiast dwóch — linia z rzutowaniem znika całkowicie.

🛡️

Bezpieczeństwo zakresu

Zmienna wzorca jest w zakresie tylko tam, gdzie typ jest gwarantowany.

Stare podejście
instanceof + rzutowanie
Nowoczesne podejście
Zmienna wzorca
Od JDK
16
Poziom trudności
Początkujący
Dopasowanie wzorców dla instanceof
Dostępne

Szeroko dostępne od JDK 16 (marzec 2021)

Dopasowanie wzorców dla instanceof eliminuje redundantne rzutowanie po sprawdzeniu typu. Zmienna jest automatycznie ograniczona do zakresu, w którym wzorzec pasuje, co sprawia, że kod jest bezpieczniejszy i krótszy.