2017-04-27 38 views
-1
int i = 5; 
StringBuilder sb = new StringBuilder(i); 
String s = "" + i; 
String k = Integer.toString(i); 
String u = String.valueOf(i); 

以下哪個將int轉換爲字符串的效率最高?java?還有其他更有效的方法嗎?將整數轉換爲字符串的時間效率

+0

你爲什麼不讀源代碼? (我懷疑這兩者之間有什麼重大區別) – GhostCat

+0

爲了防止反模式,'Integer#toString'可能是最好的選擇。 –

+1

這是微型優化。您的計劃中有更好的優化機會的可能性很大。 –

回答

1

強烈建議並鼓勵通過javadocs和源代碼。

首先,StringBuilder sb = new StringBuilder(i);將創建一個大小爲i且沒有值的StringBuilder。所以,正確的是new StringBuilder(String str)創造同等價值的新StringBuilderstr

其次,+運營商使用對象的toString()方法的參數轉換爲字符串。

第三,Integer.toString(i);String.valueOf(i);是相同的。在引擎蓋下String.valueof(int i)調用Integer.toString(i)

因此使用Integer.toString(i)更有意義,因爲它更具可讀性並指示將整數更改爲字符串的意圖。