java - Java类型转换的性能开销,如何取舍?

标签 java casting

很多时候我们需要对数据的类型进行转换,但是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/

相关文章:

java - 使用 JSTL 访问模型对象

java - 如何在 Ajax 表单提交后将用户重定向到另一个页面?

c# - 使用泛型和支持子类跟踪实例

java - 强制不变性

在不知道 C 中类型的情况下将 void 指针转换为 double

java - 我们如何实现单选按钮而不是下拉菜单?

java - 有什么好的安卓开发ORM工具吗?

java - MongoDB 从 BasicDBObject 获取日期

c++ - 通过指针访问私有(private)虚拟成员函数

c++ - 如何修复 : error: invalid conversion from 'const MyClass*' to 'MyClass*'