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

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

真正的区别是什么?

  1. Integer.toString(i)
  2. new Integer(i).toString()
解决办法

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

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

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

如果你想要一个代表整数值的对象,例如把它放在一个集合中,你会使用第二个对象,因为它给了你一个完整的对象,可以做各种你不能用裸体int做的事情。

评论(0)

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

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

评论(0)

1.新的Integer(i).toString();.

该语句创建了Integer对象,然后调用其方法toString(i)来**返回Integer'值的字符串表示。

2.Integer.toString(i);

返回代表特定int(整数)的String对象,但这里toString(int)是一个静态方法。

摘要是在第一种情况下它返回对象的字符串表示,而在第二种情况下它返回整数的字符串表示。

评论(1)