Java中String“+”的重载


String s=“abc”+“def”+“ghi”;

上面这段代码在Java中是先构建一个StringBuiler对象,然后使用append()方法拼接字符串最后调用toString()方法生成字符串,没有什么问题。

但是如果是在循环中拼接字符串如下代码

 

String s = "";
for (int i=0;i<strs.length;i++) {
s += strs[i];
}
System.out.println(s);
StringBuilder sb = new StringBuilder();
for (int i=0;i<strs.length;i++) {
    sb.append(strs[i]);
}
System.out.println(sb.toString());

看上边这两段代码就有区别了,上面代码创建了很多个StringBuilder对象,而下面只创建了一个StringBuiler对象,如果字符数组很大性能差距明显。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM