Integer.parseInt()与Interger.valueof()

下面的代码有什么区别:

Integer.parseInt("12");
Integer.valueOf("12");

看源码:

public static int parseInt(String s) throws NumberFormatException {
        return parseInt(s,10);
}
public static Integer valueOf(String s) throws NumberFormatException {
        return Integer.valueOf(parseInt(s, 10));
}

可以看出两者的区别:

返回值不同,parseInt(String s)返回的是int,而valueOf(String s)返回的是Integer

所以,一般用Integer.parseInt(str),除非你要返回Integer类型,不然还有封装拆箱,性能多少会耗费些。

Last updated