如果多个字符串连接,使用StringBuilder,String是final的,不可变的,两个字符串被连接在一起时,他们的内容都要被拷贝。
所以记住,多个字符串相加,使用StringBuilder就是了。
public staticvoid main(String[] args) {
String test= "a";
long start= System.currentTimeMillis();
for(inti = 0; i < 10000; i++){
test+= "a";
}
long end= System.currentTimeMillis();
System.out.println("字符串相加用时:"+ (end -start));
StringBuildersb = new StringBuilder("a");
start =System.currentTimeMillis();
for(inti = 0; i < 10000; i++){
sb.append("a");
}
end =System.currentTimeMillis();
System.out.println("StringBuilder用时:" + (end-start));
}
打印的结果是:
字符串相加用时:93
StringBuilder用时:1