Строки в Java - это капкан для разработчика, с виду базовый тип, а по факту кучу нюансов, но которых спотыкаются и на собеседованиях, и на проде.
Вся логика и боль упираются в неизменяемость. String создан ради безопасности и многопоточности, но любая модификация создает новый объект. Конкатенация в цикле через обычный плюс моментально забива…