split(".") режет строку не так, как кажется
split() принимает регулярное выражение, а не литеральную строку. Точка в regex означает «любой символ», а не буквальную точку — и это ловит даже опытных разработчиков.
Вопрос проверяет, помните ли вы, что String.split() всегда работает через Pattern.compile() под капотом. Если в разделителе есть спецсимвол regex — точка, плюс, звёздочка, вертикальная черта — его нужно экранировать.
String[] parts = "a.b.c".split("."); System.out.println(parts.length); // 0 — точка это "любой символ"
String[] fixed = "a.b.c".split("."); System.out.println(fixed.length); // 3 — экранировали точку
Что спросят следом: как split() обрабатывает limit по умолчанию (0) — trailing пустые строки убираются, а leading остаются. Та же ловушка с "|" и "+" в регулярках: любой спецсимвол нужно экранировать или использовать Pattern.quote().
split() — это regex-метод, даже когда разделитель выглядит как обычный символ.
Тренажёр: 600 вопросов, мок с таймером, план повторов
senior·base — что спрашивают на самом деле
В этом посте были ссылки, но мы их удалили по правилам Сетки