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

真正的区别是什么?

Integer.toString(我) 新的整数(我).toString ()


当前回答

另一个选项是静态字符串。返回对象的值的方法。

String.valueOf(i)

对我来说,它感觉比Integer.toString(i)更正确。当i的类型改变时,例如从int变为double,代码将保持正确。

其他回答

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

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

如果你只想打印一个int型,你会使用第一个,因为它更轻,更快,不需要额外的内存(除了返回的字符串)。

如果您想要一个表示整型值的对象(例如将其放入一个集合中),那么您可以使用第二个对象,因为它为您提供了一个完整的对象,可以完成所有使用纯整型无法完成的事情。

在这里 整数。toString调用Integer类中的静态方法。它不需要对象调用。

如果调用new Integer(i),首先创建一个Integer类型的实例,它是一个完整的Java对象,封装了int i的值。然后调用它的toString方法,要求它返回自己的字符串表示形式。

我也强烈推荐使用

int integer = 42;
String string = integer + "";

简单有效。

好:

Integer.valueOf(i).toString()

new Integer(i). tostring()首先在i周围创建一个(冗余的)包装对象(它本身可能是一个包装对象Integer)。

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