我们可以直接进行以下转换:
String s="123";
int a=new Integer(s);
那么使用Integer.parseInt()
方法有什么好处?
答案 0 :(得分:3)
整数构造函数在内部调用parseInt
,返回int
。如果直接调用parseInt
,则应避免自动装箱(构造函数返回Integer
)。
public Integer(String s) throws NumberFormatException {
this.value = parseInt(s, 10);
}
同样使用parseInt
,您可以使用不同于10的基数来解析字符串。例如:
int hex = Integer.parseInt("FF", 16); // 255
int bin = Integer.parseInt("10", 2); // 2
答案 1 :(得分:1)
在您的示例中,您(隐式地)执行了一个额外的装箱操作(对Integer
}对象),使用Integer.parseInt
时可以避免这种操作。 Integer.parseInt
直接从您的输入int
中为您提供String
。
基本上你的代码相当于:
String s = "123";
int a = (new Integer(s)).intValue();
如您所见,您实际上并不需要new Integer(s)
个对象,
您只需要将原始int
值存储在其中。