可以初始化一个单一的重复字符到一个特定的长度的javastring
我想创build一个具有以下签名的函数:
public String createString(int length, char ch)
它应该返回一个指定长度的重复string。
例如,如果长度是5并且ch是“p”,则返回值应该是
ppppp
有没有办法做到这一点,没有循环,直到它是所需的长度?
没有任何外部定义的常量?
char[] chars = new char[len]; Arrays.fill(chars, ch); String s = new String(chars);
StringUtils.repeat(str, count)
来自apache的commons-lang
为了logging,使用Java8,你可以用stream来完成这个工作:
String p10times = IntStream.range(0, 10) .mapToObj(x -> "p") .collect(Collectors.joining());
但是这似乎有点矫枉过正。
这是一个优雅的纯Java单线解决scheme:
String str = new String(new char[10]).replace("\0", "1");
资料来源: https : //stackoverflow.com/a/4903603/462347
比较先进和可读,
public static String repeat(int len, String ch) { String s = IntStream.generate(() -> 1).limit(len).mapToObj(x -> ch).collect(Collectors.joining()); System.out.println("s " + s); return s; }