Java 中 字符串 "1234" 怎麼轉成 int?

問題

今天在stackoverflow看到一個有意思的問題。想在Java 中 把String 轉爲int.例如 輸入 字符串 1234,期望輸出 int 1234.

問題分析

字符串轉int,首先是個數字的字符串纔可以,如果要是一個隨意的字符串必然要出現異常。

問題方案一

        String myString = "1234";
        int foo = Integer.parseInt(myString);
        System.out.println("string 1234 to int "+foo);
        //string 1234 to int 1234

NumberFormatException 異常處理

     int foo;
        try {
            foo = Integer.parseInt(myString);
        }
        catch (NumberFormatException e)
        {
            foo = 0;
        }

方案二

使用Java 8 與 guava

   int foo = Optional.ofNullable("1234")
            .map(Ints::tryParse)
            .orElse(0);

方案三

使用common-lang NumberUtils

int num = NumberUtils.toInt("1234");

在無法轉換的情況會輸出 0

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