Java int to String - Integer.toString(i) vs new Integer(i).toString()

2022-08-31 04:32:36

有时java会让我感到困惑。
我有大量的int初始化要做。

真正的区别是什么?

  1. Integer.toString(i)
  2. new Integer(i).toString()

答案 1

Integer.toString 调用类 Integer 中的静态方法。它不需要 的实例。Integer

如果调用 new Integer(i),则创建一个 type 实例,这是一个完整的 Java 对象,它封装了 int 的值。然后调用它上面的方法,要求它返回自身的字符串表示形式。IntegertoString

如果您只想打印 一个 ,则可以使用第一个,因为它更轻,更快,并且不使用额外的内存(除了返回的字符串)。int

如果你想要一个表示整数值的对象(例如,把它放在一个集合中),你可以使用第二个对象,因为它给你一个完整的对象来做各种你不能用裸露的东西。int


答案 2

new Integer(i).toString()首先创建一个(冗余的)包装对象(它本身可能是一个包装器对象)。iInteger

Integer.toString(i)是首选,因为它不会创建任何不必要的对象。