当前位置: 首页 > 面试题库 >

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

越琦
2023-03-14
问题内容

我在寻找一个简单的方法,公共或操作员,让我再重复一些字符串ñ倍。我知道我可以使用for循环编写此代码,但是我希望在必要时避免for循环,并且应该在某个地方存在一个简单的直接方法。

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

repeated.equals("abcabcabc");

相关:

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

已编辑

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

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

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

  3. 程序员喜欢将聪明的东西放入for循环中,即使我将其写为“仅按计划执行”,也不排除有人来添加额外的聪明的“修复”。

  4. 它们通常很容易出错。对于涉及索引的循环,往往会产生一个错误。

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

  6. 对于循环,增加了寻找漏洞猎人的位置。


问题答案:

String::repeat

". ".repeat( 7 )  // Seven period-with-space pairs: . . . . . . . 

Java 11中的新功能是String::repeat完全符合您要求的方法:

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

它的Javadoc说:

/**
 * Returns a string whose value is the concatenation of this
 * string repeated {@code count} times.
 * <p>
 * If this string is empty or count is zero then the empty
 * string is returned.
 *
 * @param count number of times to repeat
 *
 * @return A string composed of this string repeated
 * {@code count} times or the empty string if this
 * string is empty or count is zero
 *
 * @throws IllegalArgumentException if the {@code count} is
 * negative.
 *
 * @since 11
 */ 


 类似资料:
  • 字符串userKeyword来自用户键盘输入-我已经尝试编写一个方法来返回这个删除重复字符的字符串。 通过在while循环中移动新字符赋值,我现在得到的输出与PLAIN_ALPHA相同,而不是userKeyword,并省略了重复项。我做错了什么?

  • 我对编码非常陌生,刚刚接触过静态方法,所以我为这些愚蠢的错误提前道歉。在main下调用该方法时,该方法应该显示一个三角形,但我得到的控制台是空的,没有输出。但是,如果我将此写在main下: 然后,三角形将显示在控制台中,但是对于这个赋值,字符串/三角形必须仅通过使用来调用

  • 问题内容: 给定一个字符c和一个数字n,我如何创建一个包含n个重复c的字符串?手动执行此操作太麻烦了: 当然,已经有一些静态库函数为我完成了这项工作? 问题答案:

  • 问题内容: 我想改变这句话: 等等。 至 : 等等。 有没有像我在Objective-C中那样在Java中执行此操作的简便方法? 问题答案: 最后,我通过使用类解决了它。

  • 如何从字符串生成有效的UUID?字符串本身不是我要找的。相反,我正在寻找类似于将任何字符串转换为有效 UUID 的哈希函数。