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("num + '' 时长为:" + (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(num) 时长为:" + (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(num) 时长为:" + (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(num)

->

Integer.toString(num)

->

IntegralToString.intToString(num)

->

convertInt(null, num)

 

Integer.toString(num)

->

IntegralToString.intToString(num)

->

convertInt(null, num)

因此推荐封装类转换

同理可得,其他类型转换也是同样道理


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM