位置:首页 » 文章/教程分享 » Integer.valueOf() 与 Integer.parseInt()的区别
把一个String类型转换成int类型有以下几种方式:
Integer.valueOf("123");
Integer.parseInt("123");
Integer in = new Integer("123");
那么他们的区别是什么呢,可以看看各自的源码如下:
//Integer.valueOf("123");
public static Integer valueOf(String s) throws NumberFormatException {
	return Integer.valueOf(parseInt(s, 10));
}

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

//Integer in = new Integer("123");
public Integer(String s) throws NumberFormatException {
this.value = parseInt(s, 10);
}
从上面可以看出,三个方法最终调用的都是parseInt(s, 10)方法,即返回s的十进制数

我们也可以将一个二进制数转换为十进制数 :Integer.parseInt(“111010”, 2),如果Integer.parseInt(“111010”)默认就是调用parseInt(s, 10)

Integer.valueOf()与Integer.parseInt()的区别是前者返回Integer对象,后者返回的是int类型。