Java中类型转换的性能成本,如何选择?

时间:2018-11-26 04:30:48

标签: java casting

在许多情况下,我们需要转换数据类型,但是有更多的方法可以在Number和String之间转换。如何选择?它们有不同的表现吗?
例子:
将int转换为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..

1 个答案:

答案 0 :(得分:3)

首选返回原语的版本。

int integer = Integer.valueOf(sint); // unboxes Integer
int integer = Integer.parseInt(sint); // returns int

对于将int转换为String而言,它们执行相同的操作(一个调用另一个,而JIT则消除了那里的任何差异)。