Замена оператора instanceof на switch в Java 17 произошла из-за необходимости упростить типичную конструкцию с проверкой на тип и последующим приведением. 1
Ранее для таких операций приходилось использовать цепочку if else из-за ограниченности поддержки типов и сравнения только на соответствие константному значению. 1
Разработчики решили добавить ряд улучшений, среди которых:
Таким образом, замена оператора instanceof на switch позволила сократить количество повторяющегося кода, уменьшить вероятность ошибок и сделать его более читаемым. 4