Java 中字符串拼接 String 和 StringBuilder(StringBuffer)的使用
字符串拼接是個(gè)常用的功能,經(jīng)常性使用String做字符串拼接,當(dāng)拼接次數(shù)多的時(shí)候,使用String方法會(huì)消耗大量的性能和時(shí)間,因?yàn)槊看蜸tring拼接時(shí)都會(huì)建立一個(gè)新的對(duì)象,隨著拼接次數(shù)的增多,性能消耗、時(shí)間消耗會(huì)大量增加,這個(gè)時(shí)候應(yīng)該使用StringBuilder方法。
public static void main(String[] args) {
try {
int count = 500;
long begin = System.currentTimeMillis();
testString(count);
long end = System.currentTimeMillis();
long time = end - begin;
System.out.println("String 方法拼接"+count+"次消耗時(shí)間:" + time + "毫秒");
begin = System.currentTimeMillis();
testStringBuilder(count);
end = System.currentTimeMillis();
time = end - begin;
System.out.println("StringBuilder 方法拼接"+count+"次消耗時(shí)間:" + time + "毫秒");
} catch (Exception e) {
e.printStackTrace();
}
}
private static String testString(int count) {
String result = "";
for (int i = 0; i < count; i++) {
result += "hello ";
}
return result;
}
private static String testStringBuilder(int count) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < count; i++) {
sb.append("hello");
}
return sb.toString();
}
運(yùn)行結(jié)果:
String 方法拼接500次消耗時(shí)間:2毫秒 StringBuilder 方法拼接500次消耗時(shí)間:0毫秒
String 方法拼接50000次消耗時(shí)間:4973毫秒 StringBuilder 方法拼接50000次消耗時(shí)間:3毫秒