Java 要將字串String
表示的數字轉換為整數int
的方法如下。
一般都是使用Integer.valueOf(String s)
或Integer.parseInt(String s)
String s = "100";
int i = Integer.valueOf(s);
i = Integer.parseInt(s);
而Integer.valueOf(String s)
的原始碼也只是轉去調用Integer.parseInt(String s)
,所以String
轉int
直接用Integer.parseInt(String s)
就好了。
不過如果要轉成的是Integer
物件則Integer.valueOf(String s)
有cache效果可減少記憶體用量。
但如果字串變數的值不是數字,而是其他文字的話,就會出現NumberFormatException
錯誤。為了避免錯誤,最好是用try catch
包一下來處理。
String s = "a";
int i = 0;
try {
i = Integer.parseInt(s);
} catch (NumberFormatException e) {
}
例如上面如果String的值不是數字,因為有用try catch
處理,所以錯誤發生時不會因此中斷,而變數i
仍會是初始的值0。
建議使用Apache Commons Lang的NumberUtils.toInt(String str)
來轉換,而此方法其實就是幫我們對上面的try catch
進行了封裝。
String s = "a";
int i = NumberUtils.toInt(s);
System.out.println(i); // 0
沒有留言:
張貼留言