有时,java使我感到困惑。我要进行大量的int初始化。什么是真正的差异?Integer.toString(i)new Integer(i).toString()
3 回答
白衣染霜花
TA贡献1796条经验 获得超10个赞
Integer.toString调用类中的静态方法Integer。它不需要的实例Integer。
如果调用new Integer(i),则创建type的实例Integer,该实例是封装int值的完整Java对象。然后,toString在其上调用方法以要求它返回自身的字符串表示形式。
如果您只想打印int,则可以使用第一个,因为它更轻,更快且不占用额外的内存(除了返回的字符串)。
如果您想要一个表示整数值的对象(例如,将其放入集合中),则可以使用第二个对象,因为它为您提供了一个成熟的对象,可以执行裸操作无法完成的所有事情int。
吃鸡游戏
TA贡献1829条经验 获得超7个赞
new Integer(i).toString()
首先在i
其周围创建一个(冗余的)包装对象(它本身可能是一个包装对象Integer
)。
Integer.toString(i)
首选,因为它不会创建任何不必要的对象。
凤凰求蛊
TA贡献1825条经验 获得超4个赞
另一种选择是静态String.valueOf方法。
String.valueOf(i)
对我来说,这感觉稍微正确一点Integer.toString(i)。当i的类型更改时,例如从int到double,代码将保持正确。
添加回答
举报
0/150
提交
取消