В 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