В Java 14, функциональность switch expressions выходит из стадии preview и становится полноценной функцией. Основные возможности switch expressions:

  • Возможность определять несколько выражений в блоке case
  • Лямдба-синтаксис
  • Возможность возвращать значения из блока case:
var description = switch (cat) {
    case CAT, DOG -> "Одомашненное животное";
    case WOLF -> "Дикое животное";
    default -> "Неизвестное животное";
};
  • Вывод ошибки компиляции, если покрыты не все возможные случаи в выражении switch-case. Допустим, у вас объявлено следующее перечисление:
enum Animal {
    CAT, DOG, COW, WOLF
}

И затем вы его используете в выражении switch:

var description = switch (cat) {
    case CAT, DOG -> "Одомашненное животное";
    case WOLF -> "Дикое животное";
};
// 'switch' expression does not cover all possible input values

В данном случае будет ошибка компиляции, так как использованы не все значения перечисления Animal.

Java 14: Switch Expressions