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

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

全部回覆(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();

做的事情比較多,消耗自然也會更多。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!