java - String.valueOf(float ) 快还是 float + "" 快?
大家讲道理
大家讲道理 2017-04-18 10:40:25
[Java讨论组]
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(3)
巴扎黑

分以下两种情况:

  1. floatValue为常量时,floatValue + ""将被编译优化成String,效率很高;

  2. floatValue为变量时,floatValue + ""将被编译成new StringBuilder(floatValue).append("").toString();效率略低一些。

可参考:
http://www.java67.com/2015/05...

怪我咯

后续几次结果

''+float程序运行时间:7511137236nm
String.valueof(float)’ 程序运行时间:4401233361

证明Valueof(float)的效率高点~

而 String.valueof()调用了 FloatingDecimal.toJavaFormatString(f)

public String toJavaFormatString() {
char result[] = (char[])(perThreadBuffer.get());
int i = getChars(result);
return new String(result, 0, i);
}
黄舟

理论上肯定是String.valueOf(float)会更快。

因为float + ""会被编译为

StringBuilder sb = new StringBuilder();
sb.append(f);
sb.append("");
sb.toString();

做的事情更多,消耗自然也会更多。

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

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