把一個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