/**
* 字符串拼接
*/
public class StringAddDemo {
public static void main(String[] args){
testStringAdd();
testConcat();
testStringBuilder();
testStringBuffer();
//+:676
//concat:243
//StringBuilder:9
//StringBuffer:1
}
public static void testStringAdd(){
String s = "";
long begin = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
s = s + i;
}
long end = System.currentTimeMillis();
System.out.println("+:" + (end-begin));
}
//连接
public static void testConcat(){
String s = "";
long begin = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
s = s.concat(String.valueOf(i));
}
long end = System.currentTimeMillis();
System.out.println("concat:" + (end-begin));
}
//synchronization
public static void testStringBuffer(){
StringBuffer sb = new StringBuffer();
long begin = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
sb.append(i);
}
sb.toString();
long end = System.currentTimeMillis();
System.out.println("StringBuffer:" + (end-begin));
}
public static void testStringBuilder(){
StringBuilder sb = new StringBuilder();
long begin = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
sb.append(i);
}
sb.toString();
long end = System.currentTimeMillis();
System.out.println("StringBuilder:" + (end-begin));
}
}
转载于:https://www.cnblogs.com/fly-book/p/11340778.html
本文通过实验对比了Java中四种不同的字符串拼接方法:使用+运算符、concat方法、StringBuilder和StringBuffer的性能。实验结果显示,StringBuilder在大量字符串拼接操作中表现最优,其次是StringBuffer,concat方法次之,而使用+运算符则效率最低。

被折叠的 条评论
为什么被折叠?



