java - 重复字符串的简单方法

标签 java string

我正在寻找一个简单的通用方法或运算符,它允许我重复某些字符串n次。我知道我可以使用 for 循环来编写此代码,但我希望在必要时避免使用 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

已编辑

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

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

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

  3. 程序员喜欢在 for 循环中放入聪明的东西,即使我将其编写为“只做它打算做的事情”,这并不妨碍有人加入并添加一些额外的聪明的“修复”。

  4. 它们通常很容易出错。涉及索引的 for 循环往往会因一​​个错误而产生。

  5. For 循环经常重用相同的变量,从而增加了很难发现作用域错误的机会。

  6. For 循环增加了 bug 猎人必须查找的位置的数量。

最佳答案

这是最短的版本(需要 Java 1.5+):

repeated = new String(new char[n]).replace("\0", s);

其中,n 是要重复字符串的次数,s 是要重复的字符串。

无需导入或库。

关于java - 重复字符串的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49868057/

相关文章:

java - 通过Java在MySQL中插入文件文件路径

java - 如何在 Java 输出中显示像 LineBreak 这样的特殊转义字符?

R 获取数据框列中具有字符串变量的第一行的行号

python - 列表中的两个随机值需要与图像匹配

python - 如何在 Python 中获取字符串的大小?

java - 如何限制字符串中 "/"的个数

java - 根据电池是否正在充电来启动和关闭应用程序

Java泛型、类型删除和泛型成员的类型

java - 奇数和偶数 Java 更新之间有什么区别?

c - 来自 C 函数的字符串