Java int 轉 String 型別,java型別轉換
阿新 • • 發佈:2021-12-02
int型別轉String型別有下面幾種方式:
String var = num + "";
Strng var =String.valueOf(num);
String var =Integer.toString(num);
這三種方法在實際使用過程中都是沒有問題的
但是效率上還是有些許區別的
所以寫個段程式碼來對照一下他們的效率
int num = 123456789; long start = System.currentTimeMillis(); for (int i = 0; i < 100000; i++){ String var = num + ""; }long end = System.currentTimeMillis(); System.out.println("a + '' 時長為:" + (end - start)); start = System.currentTimeMillis(); for (int i = 0; i < 100000; i++){ String var = String.valueOf(num); } end = System.currentTimeMillis(); System.out.println("String.valueOf(a) 時長為:" + (end - start)); start= System.currentTimeMillis(); for (int i = 0; i < 100000; i++){ String n = Integer.toString(num); } end = System.currentTimeMillis(); System.out.println("Integer.toString(a) 時長為:" + (end - start));
得出結果:
num + '' 時長為:21
String.valueOf(num) 時長為:6
Integer.toString(num) 時長為:5
num + "",在我理解為:String追加,這樣會比較耗費時長,新建了2個物件
String.valueOf(num)在底層呼叫的是Integer.toString(num)
Integer.toString(num)為封裝類轉換
String.valueOf(a)
->
Integer.toString(a)
->
IntegralToString.intToString(a)
->
convertInt(null, a)
Integer.toString(a)
->
IntegralToString.intToString(a)
->
convertInt(null, a)
因此推薦封裝類轉換
同理可得,其他型別轉換也是同樣道理