25. Исправление проблем в коде #
Условие задачи:
Исправьте проблемы в коде компонента, который строит строковое сообщение с перечислением ошибок. Необходимо улучшить производительность и исправить ошибки в строках. 🛠️
@Component
public class Task2 {
public String buildAuditMessage(List<String> errors) {
String msg = ""В процессе обработки возникли следующие проблемы: \n"";
for (String error : errors) {
msg += error + ""\n"";
}
return msg;
}
}
Спойлеры к решению
Подсказки
💡 Для эффективной конкатенации строк в цикле используйте StringBuilder, а не
💡 Убедитесь, что строковые литералы правильно оформлены в кавычках. ✍️
+
. ⚡💡 Убедитесь, что строковые литералы правильно оформлены в кавычках. ✍️
Решение
@Component
public class Task2 {
public String buildAuditMessage(List<String> errors) {
// Используем StringBuilder для более эффективной конкатенации строк
StringBuilder msg = new StringBuilder("В процессе обработки возникли следующие проблемы:\n");
for (String error : errors) {
msg.append(error).append("\n");
}
return msg.toString();
}
}
- StringBuilder — используется для более эффективной конкатенации строк. В цикле с обычной строкой (с помощью оператора
+
) создается много промежуточных объектов, что замедляет выполнение. 🏃♂️ - Ошибка с кавычками в исходном коде: лишние кавычки и неправильный синтаксис. В исправленном варианте строки правильно оформлены.
Использование StringBuilder
позволяет избежать лишней нагрузки на память и ускорить выполнение программы. 🚀