在java中重复一个String的简单方法

问题:

我正在寻找一个简单的commons方法或运算符,允许我重复一些String n次。我知道我可以使用for循环编写它,但是我希望在必要时避免使用循环,并且应该存在一个简单的直接方法。

String str = "abc";
String repeated = str.repeat(3);

repeated.equals("abcabcabc");

 相关:
 repeat string javascript Create NSString by repeating another string a given number of times
 编辑
我试图避免循环,因为它们不是完全必要的,因为:

  1. 它们增加了代码行的数量,即使它们被卷入另一个函数。
  2. 读取我的代码的人必须弄清楚我在for循环中所做的工作。即使它被评论并具有有意义的变量名称,他们仍然必须确保它没有做任何“聪明”。
  3. 程序员喜欢将巧妙的东西放在循环中,即使我把它写成“只做它想做的事情”,这并不排除有人来追加一些额外的聪明的“修复”。
  4. 他们经常很容易出错。对于涉及索引的循环往往会产生一个错误。
  5. 对于循环通常会重复使用相同的变量,增加了很难找到范围错误的机会。
  6. For循环增加了一个bug猎人必须看的地方的数量。

回答:

这很简单:

// create a string made up of n copies of string s
String.format("%0" + n + "d", 0).replace("0",s);

在Java 8中有一个更简单的方法:

// create a string made up of n copies of string s
String.join("", Collections.nCopies(n, s));

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Simple way to repeat a String in java

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

54 − = 51