猿问

Java int到String-Integer.toString(i)与新的Integer(i)

有时,java使我感到困惑。
我要进行大量的int初始化。

什么是真正的差异?

  1. Integer.toString(i)

  2. new Integer(i).toString()


幕布斯6054654
浏览 700回答 3
3回答

白衣染霜花

Integer.toString调用类中的静态方法Integer。它不需要的实例Integer。如果调用new Integer(i),则创建type的实例Integer,该实例是封装int值的完整Java对象。然后,toString在其上调用方法以要求它返回自身的字符串表示形式。如果您只想打印int,则可以使用第一个,因为它更轻,更快且不占用额外的内存(除了返回的字符串)。如果您想要一个表示整数值的对象(例如,将其放入集合中),则可以使用第二个对象,因为它为您提供了一个成熟的对象,可以执行裸操作无法完成的所有事情int。

吃鸡游戏

new Integer(i).toString()首先在i其周围创建一个(冗余的)包装对象(它本身可能是一个包装对象Integer)。Integer.toString(i) 首选,因为它不会创建任何不必要的对象。

凤凰求蛊

另一种选择是静态String.valueOf方法。String.valueOf(i)对我来说,这感觉稍微正确一点Integer.toString(i)。当i的类型更改时,例如从int到double,代码将保持正确。
随时随地看视频慕课网APP

相关分类

Java
我要回答