網頁

2019/6/1

Java 字串轉整數的寫法 convert String to int

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),所以Stringint直接用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 LangNumberUtils.toInt(String str)來轉換,而此方法其實就是幫我們對上面的try catch進行了封裝。

String s = "a";
int i = NumberUtils.toInt(s);

System.out.println(i); // 0


沒有留言:

張貼留言