Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: switch expressions, Java, pattern matching, lambda

Что такое switch expressions?

Этот вопрос проверяет понимание switch expressions как более лаконичной и функциональной альтернативы традиционному switch statement, позволяющей использовать выражения в case и возвращать значения.

Короткий ответ

Switch expressions — это улучшенная версия switch, появившаяся в Java 14. В отличие от switch statement, switch expression возвращает значение и использует стрелочный синтаксис ->. Это делает код более кратким и безопасным, исключая случайные fall-through ошибки. Например, вместо break используется просто возврат значения.

Длинный ответ

Что такое switch expressions?

Switch expressions — это эволюция традиционного switch statement, представленная в Java 14 как стабильная функция. Основное отличие в том, что switch expression возвращает значение, а не просто выполняет блоки кода. Это позволяет использовать его в присваиваниях, возвратах и лямбда-выражениях.

Ключевые особенности

  • Использование стрелочного синтаксиса -> вместо двоеточия :
  • Каждый case — это отдельное выражение, не требующее break
  • Возможность возвращать значение напрямую
  • Поддержка нескольких значений в одном case через запятую
  • Обязательное покрытие всех возможных значений (exhaustiveness) для enum и sealed классов

Пример кода

// Традиционный switch statement
String dayType;
switch (day) {
    case MONDAY:
    case FRIDAY:
        dayType = "Work day";
        break;
    case SATURDAY:
    case SUNDAY:
        dayType = "Weekend";
        break;
    default:
        dayType = "Unknown";
}

// Switch expression
String dayType = switch (day) {
    case MONDAY, FRIDAY -> "Work day";
    case SATURDAY, SUNDAY -> "Weekend";
    default -> "Unknown";
};

Применение на практике

Switch expressions особенно полезны при работе с enum, sealed классами и в функциональном программировании. Они уменьшают шаблонный код и делают логику более читаемой. Например, в обработчиках команд или при маппинге значений.

Вывод: Switch expressions стоит применять везде, где требуется преобразование входного значения на основе нескольких условий. Это делает код более безопасным, лаконичным и соответствующим современным стандартам Java.

Уровень

  • Рейтинг:

    4

  • Сложность:

    5

Навыки

  • Java

    Java

Ключевые слова

#switch expressions

#Java

#pattern matching

#lambda

Подпишись на Java Developer в телеграм