java - 这三个代码的性能那个高?
高洛峰
高洛峰 2017-04-18 10:20:29
[Java讨论组]

求解?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
怪我咯

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

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

天蓬老师

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

迷茫

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号