Integer.parseint与new Integer之间的区别

时间:2015-06-29 12:23:38

标签: java

Integer.parseInt("5")new Integer("5")之间有什么区别?我看到在代码中使用了两种类型,它们之间有什么区别?

2 个答案:

答案 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)

The Java documentation for Integer州:

  

字符串将以与基数10的parseInt方法完全相同的方式转换为int值。

所以我猜它是一样的。