Некоторые улучшения оператора switch, внесённые с выходом Java 12:
- Возможность возвращать значения. 1 До обновления оператор switch мог только выполнять действия в зависимости от переменной, но не возвращать значения. 1 С выходом Java 12 появилась возможность возвращать значение из case с помощью оператора -> и присваивать его переменной. 1
- Поддержка множественных case. 1 Вместо нескольких case можно объединить условия через запятую, использовать оператор ->, отказаться от break и сократить код. 1
- Использование лямбда-оператора. 2 Он гарантирует, что будет выполнен только код справа от него, без сквозного перехода от метки к метке (fall-through). 2
- Расширение синтаксиса. 4 В Java 12 оператор switch может использоваться как в виде утверждения, так и в виде выражения. 4