为什么不建议在for循环中使用“+”进行字符串拼接?

 

String boy = "wupx";
String girl = "huxy";
String love = boy + girl;

反编译后的代码:

String boy = "wupx";
String girl = "huxy";
String love = (new StringBuilder()).append(boy).append(girl).toString();

反编译后的代码,在for循环中,每次都是new了一个StringBuilder,然后再把String转成StringBuilder,再进行append。

而频繁的新建对象当然要耗费很多时间了,不仅仅会耗费时间,频繁的创建对象,还会造成内存资源的浪费,大大降低了效率。

所以,在循环体内,字符串的连接方式,使用 StringBuilder 的 append 方法进行扩展。而不要使用+。

上一篇:[CISCN 2019 初赛]Love Math 1


下一篇:python字符串相关操作