yield
Возвращает значение из блока внутри switch-выражения.
Доступно с: Java 14
Синтаксис
case X -> { …; yield value; }Примеры
Ветка из нескольких инструкций возвращает значение через yield:
void main() {
int code = 404;
String message = switch (code) {
case 200 -> "OK";
case 404 -> {
String text = "Not Found";
yield code + " " + text;
}
default -> "Unknown";
};
IO.println(message);
}Результат:
404 Not FoundПримечания
В ветке со стрелкой и одним выражением yield не нужен. В старой форме switch-выражения с двоеточием yield обязателен в каждой ветке: case 1: yield "one";. return внутри switch-выражения писать нельзя — он завершил бы весь метод.
См. также
- switch — Выбирает ветку по значению; в форме выражения возвращает результат.
В учебнике
- switch — Оператор switch в Java: стрелочные метки, несколько значений в case, switch-выражение с возвратом значения, yield и классическая форма с break.