扫码关注官方订阅号
求解?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
第三个性能最好第一个 out+=str会频繁的生成string对象,第二个虽说使用了StringBuffer,但是增加时需要进行动态扩容,会导致内存的复制,降低性能
第三个也是用StringBuffer,但是预先分配StringBuffer的空间大小为目标的大小,添加新字符串时StringBuffer都能放下,不用扩容,提高了效率
我只想说m3的解的stringbuffer长度不应该在加一个str.length()么...因为假设i是5,实际执行是6次. 0-- == 0
0-- == 0
如果变量i的数量小于一定值的话,m1是最快的;当i比较大时,m3比较快;另外,如果不考虑线程安全的话,jdk5之后可以采用StringBuilder。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
第三个性能最好
第一个
out+=str会频繁的生成string对象,
第二个
虽说使用了StringBuffer,但是增加时需要进行动态扩容,会导致内存的复制,降低性能
第三个
也是用StringBuffer,但是预先分配StringBuffer的空间大小为目标的大小,添加新字符串时StringBuffer都能放下,不用扩容,提高了效率
我只想说m3的解的stringbuffer长度不应该在加一个str.length()么...因为假设i是5,实际执行是6次.
0-- == 0如果变量i的数量小于一定值的话,m1是最快的;当i比较大时,m3比较快;另外,如果不考虑线程安全的话,jdk5之后可以采用StringBuilder。