Я ищу простой метод или оператор commons, который позволяет мне повторять некоторую строку n раз. Я знаю, что мог бы написать это, используя цикл for, но я хочу избегать циклов for всякий раз, когда это необходимо, и где-то должен существовать простой прямой метод.
Я стараюсь избегать циклов for, когда они не являются полностью необходимыми, потому что:
Они увеличивают количество строк кода, даже если они спрятаны в другой функции.
Кто-то, читающий мой код, должен понять, что я делаю в этом цикле for . Даже если он прокомментирован и имеет значимые имена переменных, они все равно должны убедиться, что он не делает ничего "умного".
Программисты любят вставлять умные вещи в циклы for, даже если я пишу это так, чтобы "делать только то, для чего оно предназначено", это не исключает того, что кто-то придет и добавит какое-нибудь дополнительное умное "исправление".
В них очень часто легко ошибиться. Циклы For, включающие индексы, имеют тенденцию генерировать ошибки off by one.
Циклы For часто повторно используют одни и те же переменные, увеличивая вероятность действительно труднодоступных ошибок, ограничивающих область видимости.
Циклы For увеличивают количество мест, которые должен искать багхантер.
/** * Returns a string whose value is the concatenation of this * string repeated {@code count} times. * <p> * If this string is empty or count is zero then the empty * string is returned. * * @param count number of times to repeat * * @return A string composed of this string repeated * {@code count} times or the empty string if this * string is empty or count is zero * * @throws IllegalArgumentException if the {@code count} is * negative. * * @since 11 */