我正在寻找一个简单的公共方法或运算符,它允许我重复一些字符串n次.我知道我可以使用for循环来编写它,但我希望在必要时避免使用循环,并且某处应该存在一个简单的直接方法.
String str = "abc";
String repeated = str.repeat(3);
repeated.equals("abcabcabc");
相关:
repeat string javascript 通过重复给定次数的另一个字符串来创建NSString
编辑
当他们不是完全必要的时候我试着避免循环,因为:
即使它们隐藏在另一个函数中,它们也会增加代码行数.
读我的代码的人必须弄清楚我在循环中做了什么.即使它被评论并且具有有意义的变量名称,它们仍然必须确保它没有做任何"聪明"的事情.
程序员喜欢把聪明的东西放在for循环中,即使我把它写成"只做它想要做的事情",这并不排除有人出现并增加一些额外的聪明"修复".
他们经常容易出错.对于涉及索引的循环,往往会产生一个错误.
For循环经常重用相同的变量,增加了很难找到范围错误的机会.
For循环增加了bug猎人必须看的地方数量.
我是来自python的java的新手.我想知道如何在java中乘以一个字符串.在python我会这样做:
str1 = "hello"
str2 = str1 * 10
字符串2现在具有以下值:
#str2 == 'hellohellohellohellohellohellohellohellohellohello'
我想知道在java中实现这个最简单的方法是什么.我是否必须使用for循环或是否有内置方法?
编辑1
感谢您的回复我已经找到了解决问题的优雅方案:
str2 = new String(new char[10]).replace("\0", "hello");
注意:这个答案最初由user102008发布:https://stackoverflow.com/a/4903603
由于各种原因,我试图将字符串设置为2000个空格.目前我正在使用:
String s = String.format("%1$-2000s"," ");
这对Java 5来说非常好,但是,我们部门的一些开发人员使用的是1.4,这不起作用.
我想知道,还有其他方法可以达到同样的效果吗?我知道我可以做一些像for循环一次添加空格的东西,但我正在寻找像格式选项这样简单的东西.
对于那些可能对我为什么需要它感兴趣的人,这是因为我们在数据对象上有一个XML类型,插入到DB中时为null.然后使用XML字符串进行更新,通常大小为2000个字符.在Oracle中预先保留此空间可以防止行迁移,从而提高性能.
谢谢!
可能重复:
我可以在java中将字符串乘以重复序列吗?
在Python中,我们可以轻松地增加蜇伤.
count = 10
print '*' * count
Java中是否有类似的选项?
如何在Java中初始化具有动态长度的String?
例如,我想要一个由n个字符组成的字符串a,其中n是一个变量.我能这样做吗?