JAVA_IIBRARY Telegram 1671
Фича в Java 21 - Pattern Matching в "switch" блоке

До Java 21 блок switch работал только с int, enum, String и еще несколькими примитивами. С JEP 441 теперь можно:

- использовать switch с любыми объектами
- проверять типы прямо в case
- деструктуризировать record-объекты

До этой фичи, проверить тип Object можно было с помощью instanceof и код был набором if-ов с приведением типа Object к нужному:

    if (obj instanceof String) {
String s = (String) obj;
System.out.println("String length: " + s.length());
} else if (obj instanceof Integer) {
Integer i = (Integer) obj;
System.out.println("Square: " + (i * i));
}


С новой фичей проверку на тип и работа с объектом конкретного типа можно через switch:

  Object obj = "abc";

switch (obj) {
case String s -> System.out.println("String length: " + s.length());
case Integer i -> System.out.println("Square: " + (i * i));
default -> System.out.println("Unknown type");
}


Чище, безопаснее и не нужно вручную кастовать типы.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍2



tgoop.com/Java_Iibrary/1671
Create:
Last Update:

Фича в Java 21 - Pattern Matching в "switch" блоке

До Java 21 блок switch работал только с int, enum, String и еще несколькими примитивами. С JEP 441 теперь можно:

- использовать switch с любыми объектами
- проверять типы прямо в case
- деструктуризировать record-объекты

До этой фичи, проверить тип Object можно было с помощью instanceof и код был набором if-ов с приведением типа Object к нужному:

    if (obj instanceof String) {
String s = (String) obj;
System.out.println("String length: " + s.length());
} else if (obj instanceof Integer) {
Integer i = (Integer) obj;
System.out.println("Square: " + (i * i));
}


С новой фичей проверку на тип и работа с объектом конкретного типа можно через switch:

  Object obj = "abc";

switch (obj) {
case String s -> System.out.println("String length: " + s.length());
case Integer i -> System.out.println("Square: " + (i * i));
default -> System.out.println("Unknown type");
}


Чище, безопаснее и не нужно вручную кастовать типы.

👉 Java Portal

BY Java Portal | Программирование


Share with your friend now:
tgoop.com/Java_Iibrary/1671

View MORE
Open in Telegram


Telegram News

Date: |

The Standard Channel Telegram Android app: Open the chats list, click the menu icon and select “New Channel.” “[The defendant] could not shift his criminal liability,” Hui said. Content is editable within two days of publishing Don’t publish new content at nighttime. Since not all users disable notifications for the night, you risk inadvertently disturbing them.
from us


Telegram Java Portal | Программирование
FROM American