Integer.parseInt("5")
和new Integer("5")
之间有什么区别?我看到在代码中使用了两种类型,它们之间有什么区别?
答案 0 :(得分:18)
他们使用相同的实现:
parseInt
主要区别在于int
返回基元(Integer
),而Integer
构造函数返回(不奇怪)int
实例。
如果您需要parseInt
,请使用parseInt
。如果你需要一个Integer实例,可以调用Integer.valueOf(String)
并将其分配给一个Integer变量(它会自动将其置换)或调用Integer(String)
,这比调用Integer
构造函数更好,因为IntegerCache
构造函数没有利用new Integer(..)
(因为在编写new Integer("5")
时总是得到一个新实例)。
我没有理由使用Integer.valueOf("5")
。如果您需要Integer
实例,$message
会更好,因为它将返回小整数的缓存实例。
答案 1 :(得分:3)