很多时候我们需要对数据的类型进行转换,但是Number和String之间的转换方式更多。怎么选?它们有不同的性能吗?
示例:
将整数转换为字符串
int i=5;
String s1=String.valueOf(i);
String s2=i+"";
String s3=Integer.toString(i);
etc..
将字符串转换为整数
String sint = "9999" ;
int integer = Integer.valueOf(sint);
int integer = Integer.parseInt(sint);
int integer = Ints.tryParse(sint);
int integer = NumberUtils.createInteger(sint);
int integer = NumberUtils.toInt(sint);
int integer = NumberUtils.createInteger(sint);
etc..
最佳答案
首选返回原语的版本。
int integer = Integer.valueOf(sint); // unboxes Integer
int integer = Integer.parseInt(sint); // returns int
至于将 int
转换为 String
,它们执行相同的操作(一个调用另一个,JIT 优化消除了那里的任何差异)。
关于java - Java类型转换的性能开销,如何取舍?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53474802/