4

在 Python 中,有一个*字符串运算符,我不知道它叫什么,但它是这样做的:

>>> "h" * 9
"hhhhhhhhh"

Java中是否有像Python这样的运算符*

4

7 回答 7

9

许多库都有这样的实用方法。

例如番石榴

String s = Strings.repeat("*",9);

Apache Commons / Lang

String s = StringUtils.repeat("*", 9);

这两个类还具有使用指定字符将字符串的开头或结尾填充到特定长度的方法。

于 2013-05-29T11:31:36.427 回答
5

我认为在 java 中最简单的方法是使用循环:

String string = "";
for(int i=0; i<9; i++)
{
    string+="h";
}
于 2013-05-29T11:30:30.110 回答
3

你可以使用这样的东西:

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

repeated.equals("abcabcabc");
于 2013-05-29T11:32:24.090 回答
2

Java 中没有这样的运算符,但您可以使用Arrays.fill()或 Apache Commons StringUtils.repeat()来实现该结果:

假设

    char src = 'x';
    String out;

使用Arrays.fill()

    char[] arr = new char[10] ;
    Arrays.fill(arr,src);        
    out = new String(arr);

使用StringUtils.repeat()

    out = StringUtils.repeat(src, 10);
于 2013-05-29T11:46:09.777 回答
1
  • 似乎是重复运算符

使用 apache 库(通用语言): Stringutils.repeat(str, nb)

于 2013-05-29T11:33:19.160 回答
0

没有这样的运算符,但您可以将字符串“h”分配给变量并使用 for 循环将变量打印所需的次数。

于 2015-10-09T00:46:11.930 回答
0

String.repeat(count) 从 JDK 11 开始可用。 String.repeat(count)

于 2021-04-13T14:50:36.013 回答