[Java][工具方法]重复N个字符连成一个字符串,各种JDK版本的方式优雅实现

2021-01-10 569点热度 3人点赞 0条评论

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

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

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

//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);

 

admin

这个人很懒,什么都没留下

文章评论

*

code