-1
int i = 5;
StringBuilder sb = new StringBuilder(i);
String s = "" + i;
String k = Integer.toString(i);
String u = String.valueOf(i);
以下哪個將int轉換爲字符串的效率最高?java?還有其他更有效的方法嗎?將整數轉換爲字符串的時間效率
int i = 5;
StringBuilder sb = new StringBuilder(i);
String s = "" + i;
String k = Integer.toString(i);
String u = String.valueOf(i);
以下哪個將int轉換爲字符串的效率最高?java?還有其他更有效的方法嗎?將整數轉換爲字符串的時間效率
強烈建議並鼓勵通過javadocs和源代碼。
首先,StringBuilder sb = new StringBuilder(i);
將創建一個大小爲i
且沒有值的StringBuilder。所以,正確的是new StringBuilder(String str)
創造同等價值的新StringBuilder
爲str
其次,+
運營商使用對象的toString()方法的參數轉換爲字符串。
第三,Integer.toString(i);
和String.valueOf(i);
是相同的。在引擎蓋下String.valueof(int i)
調用Integer.toString(i)
因此使用Integer.toString(i)
更有意義,因爲它更具可讀性並指示將整數更改爲字符串的意圖。
你爲什麼不讀源代碼? (我懷疑這兩者之間有什麼重大區別) – GhostCat
爲了防止反模式,'Integer#toString'可能是最好的選擇。 –
這是微型優化。您的計劃中有更好的優化機會的可能性很大。 –