Java中“+”运算符和StringBuilder/StringBuffer的append方法连接字符串性能简说
1. 答案:StringBuilder的效率性能更好。在Java中不管用何种方式连接字符串其底层都是用的StringBuilder(Java5之后,之前是StringBuffer)。
2. 解说:从运行结果看:“+”运算符和StringBuilder/StringBuffer完全等效。
从运行效率和资源消耗情况看: 存在巨大区别;
a: 这就要使用到反编译工具了,如果结构复杂使用循环连接字符串,反编译之后将会看到 new StringBuilder 这个过程出现在for循环体内,这就意味着每次循环都会创建StringBuilder,这将会消耗大量资源,降低效率。虽然Java中有GC,但是它的工作时间是不定的。
b: 那么我们平常使用中结构简单可以直接使用“+” , 结构复杂就直接在for循环之外 new StringBuilder。
感谢您的阅读!
gogogo

浙公网安备 33010602011771号