重复N个字符连成一个字符串,比如生成5个连续的a的字符串aaaaa
最不用动脑筋的方法就是for循环里面用String/StringBuffer/StringBuilder等把string拼接起来

1
2
3
4
String repeatedString = "";
for (int i = 0; i < n; i++) {
string = string + s;
}

下面介绍稍微优雅一点的实现

1
2
3
4
5
6
7
8
9
10
//s是要重复的字符,n是重复次数,各种JDK版本通用
String repeatedString = new String(new char[n]).replace("\0", s);
//或者:
String repeatedString = String.format("%0" + n + "d", 0).replace("0", s);
//Java8以上版本
String repeatedString = String.join("", Collections.nCopies(n, s));
//Java8还可以用Stream来完成
String repeatedString = Stream.generate(() -> s).limit(n).collect(Collectors.joining());
//Java11就更简单了,有现成的
String repeatedString = s.repeat(n);