Java Fast生成零的字符串

Ser*_*kov 1 java

我有一个代码.

private static String generateString(int size) {
    StringBuffer s = new StringBuffer();
    for (int i = 0; i < size; i++)
        s.append("0");
    return s.toString();
}
Run Code Online (Sandbox Code Playgroud)

这会产生我0000的尺寸= 4

我如何简化这段代码?

Kon*_*rus 9

我不确定你的意思是什么"快速" - 快速的代码行,或快速的CPU执行?

不要用StringBuffer.它是线程安全的并且高度同步.如果有的话,StringBuilder足迹要小得多.

这是另一种选择:

char[] c = new char[10];
Arrays.fill(c, '0');
String result = new String(c);
Run Code Online (Sandbox Code Playgroud)

它甚至比它更轻StringBuilder,可能很轻.StringBuilder内部也附加到一个char[],但不知道它的大小,它一直在进行范围检查,并根据需要缩放缓冲区.你可以构造一个StringBuilder(n),但它仍然会做浪费的边界检查,你必须编写循环来追加自己.