猿问

在java中重复字符串的简单方法

在java中重复字符串的简单方法

我正在寻找一个简单的通用方法或操作符,它允许我重复一些字符串n时代。我知道我可以使用for循环来编写它,但是我希望在必要的时候避免for循环,并且应该有一个简单的直接方法。

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

涉及:

重复字符串javascript 通过重复给定次数的另一个字符串来创建NSString

编辑

当for循环不是完全必要时,我尽量避免它们,因为:

  1. 它们增加了代码行数,即使它们隐藏在另一个函数中。

  2. 阅读我的代码的人必须弄清楚我在for循环中做了什么。即使有注释和有意义的变量名,他们仍然必须确保它没有做任何“聪明”的事情。

  3. 程序员喜欢把聪明的东西放进for循环中,即使我写它是为了“只做它想做的事情”,但这并不排除有人来加入一些额外的聪明的“修复”。

  4. 他们经常很容易出错。涉及索引的循环往往由一个bug产生。

  5. 对于循环,经常重用相同的变量,增加了很难找到范围错误的机会。

  6. 对于循环,增加了bug猎人必须寻找的地方的数量。


噜噜哒
浏览 3405回答 4
4回答

holdtom

以下是最短版本(Java1.5+必需):repeated = new String(new char[n]).replace("\0", s);哪里n要重复字符串和s是要重复的字符串。不需要导入或库。

BIG阳

Commonllang StringUtils.Repeat()用法:String str = "abc";String repeated = StringUtils.repeat(str, 3);repeated.equals("abcabcabc");
随时随地看视频慕课网APP

相关分类

Java
我要回答