Strings.javaguava/src/com/google/common/base
1@InlineMe(replacement = "...")
2@InlineMeValidationDisabled("Java 11+ API only")
3public static String (String string, int count) {
4 checkNotNull(string);
5
6 if (count <= 1) {
7 checkArgument(count >= 0, "invalid count: %s", count);
8 return (count == 0) ? "" : string;
9 }
10
11 int len = string.length();
12 long longSize = (long) len * (long) count;
13 int size = (int) longSize;
14 if (size != longSize) {
15 throw new ArrayIndexOutOfBoundsException("Required array size too large: " + longSize);
16 }
17
18 char[] array = new char[size];
19 string.getChars(0, len, array, 0);
20 int n;
21 for (n = len; n < size - n; n <<= 1) {
22 arraycopy(array, 0, array, n, n);
23 }
24 arraycopy(array, 0, array, n, size - n);
25 return new String(array);
26}