我做了一个性能测试
String test="";
Date st = new Date();
logger.info("start "+(new Date()).toString());
for(int i = 0;i<100000;i++) {
test += "test";
}
logger.info("end "+(new Date()).toString());
test="";
StringBuilder sb = new StringBuilder(test);
logger.info("start Sb "+(new Date()).toString());
for(int i = 0;i<100000;i++) {
sb.append("test");
}
test = sb.toString();
logger.info("end sb "+(new Date()).toString());
Run Code Online (Sandbox Code Playgroud)
结果是
start Fri Jun 30 10:34:42 KRAT 2017
end Fri Jun 30 10:34:55 KRAT 2017
start Sb Fri Jun 30 10:34:55 KRAT 2017
end sb Fri Jun 30 10:34:55 KRAT 2017
Run Code Online (Sandbox Code Playgroud)
相差13秒!!!
但我到处都看到“+”运算符更快的标语,因为从 …