这三个代码的性能那个高?

图片描述

求解?

回答:

第三个性能最好
第一个
out+=str会频繁的生成string对象,
第二个
虽说使用了StringBuffer,但是增加时需要进行动态扩容,会导致内存的复制,降低性能

第三个
也是用StringBuffer,但是预先分配StringBuffer的空间大小为目标的大小,添加新字符串时StringBuffer都能放下,不用扩容,提高了效率

回答:

我只想说m3的解的stringbuffer长度不应该在加一个str.length()么...因为假设i是5,实际执行是6次. 0-- == 0

回答:

如果变量i的数量小于一定值的话,m1是最快的;当i比较大时,m3比较快;另外,如果不考虑线程安全的话,jdk5之后可以采用StringBuilder。

以上是 这三个代码的性能那个高? 的全部内容, 来源链接: utcz.com/p/180127.html

回到顶部