Знаете, что в Java switch можно использовать как выражение, а не только как отдельный б...
Знаете, что в Java switch можно использовать как выражение, а не только как отдельный блок кода? Раньше для выбора значения часто писали так: int timeout; switch (env) { case "dev": timeout = 5; break; case "test": timeout = 10; break; case "prod": timeout = 30; break; default: throw new IllegalArgumentException(env); } Работает, но кода много, и легко забыть break. В современном Java можно записать это короче: int timeout = switch (env) { case "dev" -> 5; case "test" -> 10; case "prod" -> 30; default -> throw new IllegalArgumentException(env); }; Такой switch сразу возвращает значение, поэтому его удобно использовать для конфигов, статусов, ролей, типов платежей, уровней логирования и любых фиксированных сценариев. Если логика в ветке сложнее, можно использовать yield: int price = switch (type) { case "vip" -> { int discount = 20; yield basePrice - discount; } default -> basePrice; }; Код получается компактнее, а Java помогает следить, чтобы результат действительно был получен. Java Библиотека | Мы в Телеграм