创建1MB字符串的好方法是什么?

Koe*_*err 6 java string

我想为基准创建1MB字符串,所以我编写了如下代码:

public final static long KB     = 1024;
public final static long MB     = 1024 * KB;
public static void main(String[] args){
    String text_1MB=createString(1*MB);
}
static String createString(long size){
    StringBuffer o=new StringBuffer();
    for(int i=0;i<size;i++){
        o.append("f");
    }
    return o.toString();
}
Run Code Online (Sandbox Code Playgroud)

我觉得这种方法createString不好而且愚蠢

有没有想过优化createString方法?

Jon*_*eet 16

怎么样:

char[] chars = new char[size];
// Optional step - unnecessary if you're happy with the array being full of \0
Arrays.fill(chars, 'f');
return new String(chars);
Run Code Online (Sandbox Code Playgroud)

  • 我认为使用Arrays类很聪明,因为它只调用一次方法,而另一个类的Append方法必须多次调用。 (2认同)

ano*_*oop 9

您只需创建一个大字符数组即可.

char[] data = new char[1000000];
Run Code Online (Sandbox Code Playgroud)

如果您需要制作一个真实的String对象,您可以:

String str = new String(data);
Run Code Online (Sandbox Code Playgroud)