84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
光阴似箭催人老,日月如移越少年。
分以下兩種情況:
floatValue為常數時,floatValue + ""將被編譯優化成String,效率很高;
floatValue + ""
floatValue為變數時,floatValue + ""将被编译成new StringBuilder(floatValue).append("").toString();將被編譯成new StringBuilder(floatValue).append("").toString();效率略低一些。
new StringBuilder(floatValue).append("").toString();
可參考:http://www.java67.com/2015/05...
後續幾次結果
''+float程式運行時間:7511137236nmString.valueof(float)’ 程式運行時間:4401233361
證明Valueof(float)的效率高點~
而 String.valueof()呼叫了 FloatingDecimal.toJavaFormatString(f)
FloatingDecimal.toJavaFormatString(f)
public String toJavaFormatString() { char result[] = (char[])(perThreadBuffer.get()); int i = getChars(result); return new String(result, 0, i); }
理論上一定是String.valueOf(float)會比較快。
String.valueOf(float)
因為float + ""會被編譯成
float + ""
StringBuilder sb = new StringBuilder(); sb.append(f); sb.append(""); sb.toString();
做的事情比較多,消耗自然也會更多。
分以下兩種情況:
floatValue為常數時,
floatValue + ""
將被編譯優化成String,效率很高;floatValue為變數時,
floatValue + ""
将被编译成new StringBuilder(floatValue).append("").toString();
將被編譯成new StringBuilder(floatValue).append("").toString();
效率略低一些。可參考:
http://www.java67.com/2015/05...
後續幾次結果
證明Valueof(float)的效率高點~
而 String.valueof()呼叫了
FloatingDecimal.toJavaFormatString(f)
理論上一定是
String.valueOf(float)
會比較快。因為
float + ""
會被編譯成做的事情比較多,消耗自然也會更多。