java - String.valueOf(float ) 快还是 float + "" 快?
大家讲道理
大家讲道理 2017-04-18 10:40:25
0
3
476
大家讲道理
大家讲道理

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

全部回复(3)
巴扎黑

分以下两种情况:

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

  2. floatValue为变量时,floatValue + ""将被编译成new StringBuilder(floatValue).append("").toString();将被编译成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();

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板