String 在編程中被廣泛使用,所以掌握 String 和 int 的相互轉換方法是極其重要的。本節前面部分主要講解了 String 轉換 int 和 int 轉換 String 方法,并提供了示例代碼,后面部分對 valueOf()、parse() 和 toString() 等具體方法進行介紹。
String 字符串轉整型 int 有以下兩種方式:
Integer.parseInt(str)
Integer.valueOf(str).intValue()
注意:Integer 是一個類,是 int 基本數據類型的封裝類。
例如下面代碼所示:
輸出結果為:
在 String 轉換 int 時,String 的值一定是整數,否則會報數字轉換異常(java.lang.NumberFormatException)。
整型 int 轉 String 字符串類型有以下 3 種方法:
String s = String.valueOf(i);
String s = Integer.toString(i);
String s = "" + i;
例如下面代碼所示:
輸出結果為:
使用第三種方法相對第一第二種耗時比較大。在使用第一種 valueOf() 方法時,注意 valueOf 括號中的值不能為空,否則會報空指針異常(NullPointerException)。
valueOf() 方法將數據的內部格式轉換為可讀的形式。它是一種靜態方法,對于所有 Java 內置的類型,在字符串內被重載,以便每一種類型都能被轉換成字符串。valueOf() 方法還被類型 Object 重載,所以創建的任何形式類的對象也可被用作一個參數。這里是它的幾種形式:
與前面的討論一樣,調用 valueOf() 方法可以得到其他類型數據的字符串形式——例如在進行連接操作時。對各種數據類型,可以直接調用這種方法得到合理的字符串形式。所有的簡單類型數據轉換成相應于它們的普通字符串形式。任何傳遞給 valueOf() 方法的對象都將返回對象的 toString() 方法調用的結果。事實上,也可以通過直接調用 toString() 方法而得到相同的結果。
對大多數數組,valueOf() 方法返回一個相當晦澀的字符串,這說明它是一個某種類型的數組。然而對于字符數組,它創建一個包含了字符數組中的字符的字符串對象。valueOf() 方法有一種特定形式允許指定字符數組的一個子集。
它具有如下的一般形式:
static String valueOf(char chars[ ], int startIndex, int numChars)
這里 chars 是存放字符的數組,startIndex 是字符數組中期望得到的子字符串的首字符下標,numChars 指定子字符串的長度。
parseXxx(String) 這種形式,是指把字符串轉換為數值型,其中 Xxx 對應不同的數據類型,然后轉換為 Xxx 指定的類型,如 int 型和 float 型。
toString() 可以把一個引用類型轉換為 String 字符串類型,是 sun 公司開發 Java 的時候為了方便所有類的字符串操作而特意加入的一個方法。