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類型

作者:itmyhome

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章