
項目開發中String字符串和int整型之間的轉換操作是很常見的,當然可能你也會遇到String字符串和其它基本數據類型的轉換操作,比如float、long、double等常見的類型。那麼如果我們學會了String與 int之間的轉換操作,其它的基本數據類型也是大同小異的。
首先來看看如何將字符串String轉換成整數int類型。
通過下面的兩種方法都可以,現舉例如下圖所示。

輸出的結果:

接着來分析一下這兩種方式雖然都可以,但是它們在使用上有何區別呢?
1. parseInt(s)方法是直接使用靜態方法,不會產生多餘的對象,返回值為int型,在查看底層源碼時發現,如果輸入的字符串內容不是int類型、輸入內容為空時、輸入內容超出int上限時,都會拋出類型NumberFormatException異常。
2.valueof(s)方法也是直接使用靜態方法,在查看源碼時發現,它調用了parseInt方法,所以和上面一樣,如果輸入的字符串內容不是int類型、輸入內容為空時、輸入內容超出int上限時,也都會拋出類型NumberFormatException異常,但是它會返回一個Integer對象,能夠使用Integer的一些方法。
3.兩種方法在效率上面進行比較的話,paraseInt()的效率會更高。
總結
自從jdk5以後提供了自動拆箱,其實兩者的差別不是特別大,如果我們僅僅只需要得到整數數值int,那可以不用去調valueOf方法,因為這樣還得將得到的整形數值進行裝箱成Integer對象,但是從效率上考慮,建議首先考慮parseInt方法。

上面我們學習了如何將String類型轉換成int類型,那麼如何將整數 int 轉換成字串 String類型呢?
可以通過以下三種方法實現,如下所示。

輸出的結果為:

下面分析一下這三種方法有何區別以及效率問題。
1. s=k+””;使用這種方式會產生兩個String對象,雖然比較簡單,但是不推薦使用。
2. valueOf()方法是靜態方法,查看底層源碼如下圖所示。

採用的是Object.toString()方法,但是使用該方法不需要擔心object為null的情況,但同時注意當object為null時,該方法返回”null”,而非null這個值。
3. toString()方法也是靜態方法,但使用時需要注意,要保證傳入的object不是null值,否則將會拋出NullPointerException異常。
4.在效率方面,toString()是最快的,其次是valueOf()方法,k+””是最慢的。
總結
綜合上面的比較可以看出,在int類型轉換成String類型操作時,個人覺得應該使用valueOf方法可能比較好,這樣使用相對安全可靠,不會帶來異常。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/284460.html