字符串轉整數,是平時編碼中用的很多的了。
主要可以使用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。
所以,使用的時候,這個小細節需要注意下。