所以我们的计算机科学老师教我们如何通过这样做将 int
转换为 String
:
int i=0;
String s = i+"";
我猜他是这样教给我们的,因为这是相对基础的计算机科学(高中类(class),请注意),但我想知道与以下相比,这是否在某种程度上“不好”:
int i=0;
String s = Integer.toString(i);
成本更高吗?坏习惯?提前致谢。
最佳答案
理论上
说明
String s = i + "";
执行以下操作:通过调用 Integer.toString(i)
将 i
转换为 String,并将此字符串连接到空字符串。这会导致创建三个 String 对象和一个串联对象。
说明
String s = Integer.toString(i);
进行转换,并且只进行转换。
实践
大多数 JIT 编译器都能够将第一条语句优化为第二条语句。如果这种优化甚至在之前完成(由 javac 编译器,在将 Java 源代码编译为字节码时),我不会感到惊讶
关于java - 使用 int + ""是否不利于将 Java int 转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7604379/