Java中“+”运算符和StringBuilder/StringBuffer的append方法连接字符串性能简说

1. 答案:StringBuilder的效率性能更好。在Java中不管用何种方式连接字符串其底层都是用的StringBuilder(Java5之后,之前是StringBuffer)。

2. 解说:从运行结果看:“+”运算符和StringBuilder/StringBuffer完全等效。

    从运行效率和资源消耗情况看: 存在巨大区别; 

      a: 这就要使用到反编译工具了,如果结构复杂使用循环连接字符串,反编译之后将会看到 new StringBuilder 这个过程出现在for循环体内,这就意味着每次循环都会创建StringBuilder,这将会消耗大量资源,降低效率。虽然Java中有GC,但是它的工作时间是不定的。

      b: 那么我们平常使用中结构简单可以直接使用“+” , 结构复杂就直接在for循环之外 new StringBuilder。

 

感谢您的阅读!

posted @ 2018-10-26 09:58  JXY_Super  阅读(534)  评论(0)    收藏  举报