Да, строки можно использовать в switch-case в Java начиная с Java 7. Эта фишка даёт разработчикам серьёзное удобство, позволяя писать более читаемый и интуитивный код.
Хотя синтаксис выглядит простым, важно понимать, что творится под капотом:
case конвертируется в его хеш-код для сравненияequals(), чтобы разобраться с коллизиями хеш-кодовString day = "Monday";
switch(day) {
case "Monday":
System.out.println("Start of week");
break;
case "Friday":
System.out.println("End of week");
break;
default:
System.out.println("Mid-week");
}
null выбросит NullPointerExceptionИспользование строк в switch — это современная возможность Java, которая делает код понятнее, а компилятор при этом сам берёт на себя логику хеш-кодов и проверку равенства строк.
Switch-выражения со строками поддерживаются в Java начиная с версии 7 и обрабатывают сравнения с учётом регистра.
Новый — ещё не проверен сообществом
Вы