字符串轉整數的正確姿勢

字符串轉整數,是平時編碼中用的很多的了。

主要可以使用Integer類的parseInt和valueOf方法。

Integer.parseInt("10");// <1>
Integer.valueOf("10");// <2>

這兩個方法有什麼區別呢?

分別看一下源碼

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

區別就在於返回的類型。

parseInt返回的是原始數據類型,或者叫基本數據類型。

valueOf返回的是Integer包裝類。

 

使用建議:

如果你不需要將整數字符串轉爲一個整數對象,不要使用valueOf,因爲這種裝箱操作沒有必要,會帶來性能損耗。

舉個例子:

private void method1(int a){
}

private void method2(){
    method1(Integer.parseInt("1"));  //<1>
    method1(Integer.valueOf("1"));  // <2>
}

method1接收一個int參數,method2中調用method1時,由於valueOf返回一個Integer對象,所以代碼<2>處會先裝箱爲包裝類再拆箱爲int。

所以,使用的時候,這個小細節需要注意下。

 

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