Чем pattern matching for switch отличается от if/else chain и когда что выбрать?
Что хотят услышать интервьюеры:
Сравнение: pattern matching for switch стоит сравнивать с if/else chain по критериям читаемости, безопасности, производительности, тестируемости и поддержки командой.
Ответ:
Когда выбирать pattern matching for switch: когда его свойства прямо соответствуют задаче: switch с patterns удобен для закрытых моделей и data-oriented code.
Слабый ответ: “так принято в Spring/Java”. На собеседовании лучше объяснить ограничения и цену выбора.
return switch (result) {
case Success s -> s.value();
case Failure f -> f.error();
}
;