in src/main/java/org/apache/commons/lang3/StringUtils.java [6059:6095]
public static String repeat(final String repeat, final int count) {
// Performance tuned for 2.0 (JDK1.4)
if (repeat == null) {
return null;
}
if (count <= 0) {
return EMPTY;
}
final int inputLength = repeat.length();
if (count == 1 || inputLength == 0) {
return repeat;
}
if (inputLength == 1 && count <= PAD_LIMIT) {
return repeat(repeat.charAt(0), count);
}
final int outputLength = inputLength * count;
switch (inputLength) {
case 1 :
return repeat(repeat.charAt(0), count);
case 2 :
final char ch0 = repeat.charAt(0);
final char ch1 = repeat.charAt(1);
final char[] output2 = new char[outputLength];
for (int i = count * 2 - 2; i >= 0; i--, i--) {
output2[i] = ch0;
output2[i + 1] = ch1;
}
return new String(output2);
default :
final StringBuilder buf = new StringBuilder(outputLength);
for (int i = 0; i < count; i++) {
buf.append(repeat);
}
return buf.toString();
}
}