Task Livecoding Java Fix Message Building

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();
    }
}
  1. StringBuilder — используется для более эффективной конкатенации строк. В цикле с обычной строкой (с помощью оператора +) создается много промежуточных объектов, что замедляет выполнение. 🏃‍♂️
  2. Ошибка с кавычками в исходном коде: лишние кавычки и неправильный синтаксис. В исправленном варианте строки правильно оформлены.

Использование StringBuilder позволяет избежать лишней нагрузки на память и ускорить выполнение программы. 🚀