1. 程式人生 > 其它 >Java int 轉 String 型別,java型別轉換

Java int 轉 String 型別,java型別轉換

 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)

因此推薦封裝類轉換

同理可得,其他型別轉換也是同樣道理