This media is not supported in your browser
VIEW IN TELEGRAM
Очнись, нас готовят к цифровому ГУЛАГу
Уже в десятках регионов России отключают мобильный интернет (даже когда нет атак БПЛА), тестируют «белые списки» и замедляют Телегу.
90% людей тупо смотрят на уплывающий корабль свободного Интернета. Люди поумнее готовятся к новой реальности и читают «Пакет Безопасности».
Здесь дают самые свежие связки для приватности: приложения и утилиты на случай вайтлистов, прокси, браузеры, сервисы — чего тут только нет.
Без шуток, сейчас это один из самых полезных каналов в Телеге. Надеемся на лучшее, но к чему нужно готовиться — вы и сами понимаете: @package_security
Уже в десятках регионов России отключают мобильный интернет (даже когда нет атак БПЛА), тестируют «белые списки» и замедляют Телегу.
90% людей тупо смотрят на уплывающий корабль свободного Интернета. Люди поумнее готовятся к новой реальности и читают «Пакет Безопасности».
Здесь дают самые свежие связки для приватности: приложения и утилиты на случай вайтлистов, прокси, браузеры, сервисы — чего тут только нет.
Без шуток, сейчас это один из самых полезных каналов в Телеге. Надеемся на лучшее, но к чему нужно готовиться — вы и сами понимаете: @package_security
👎6
Как в Java чище проверять тип через pattern matching?
Раньше при проверке типа часто писали так:
Код рабочий, но в нём есть лишнее приведение типа. Сначала Java уже проверила, что value это String, а потом мы всё равно руками делаем cast.
В современном Java можно записать короче:
Переменная text доступна только там, где проверка точно прошла.
Это удобно для валидации:
И для обработки разных входных объектов:
При этом Java не даст использовать переменную вне безопасной области:
Здесь text уже доступен после return, потому что дальше код дойдёт только если value действительно String.
Такой синтаксис особенно приятен в коде с Object, событиями, DTO, sealed-иерархиями и обработкой внешних данных.
👉 Java Ready | #совет
Раньше при проверке типа часто писали так:
if (value instanceof String) {
String text = (String) value;
System.out.println(text.length());
}Код рабочий, но в нём есть лишнее приведение типа. Сначала Java уже проверила, что value это String, а потом мы всё равно руками делаем cast.
В современном Java можно записать короче:
if (value instanceof String text) {
System.out.println(text.length());
}Переменная text доступна только там, где проверка точно прошла.
Это удобно для валидации:
if (input instanceof String text && !text.isBlank()) {
return text.trim();
}И для обработки разных входных объектов:
if (event instanceof LoginEvent login) {
audit(login.userId());
}При этом Java не даст использовать переменную вне безопасной области:
if (!(value instanceof String text)) {
return;
}
System.out.println(text.length());Здесь text уже доступен после return, потому что дальше код дойдёт только если value действительно String.
Такой синтаксис особенно приятен в коде с Object, событиями, DTO, sealed-иерархиями и обработкой внешних данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤4👍4