String與Integer的相互轉化


一、Integer轉String

//方法一:Integer類的靜態方法toString()
Integer a = 2;
String str = Integer.toString(a)

//方法二:Integer類的成員方法toString()
Integer a = 2;
String str = a.toString();

//方法三:String類的靜態方法valueOf()
Integer a = 2;
String str = String.valueOf(a);

1、從Integer類的源碼可以看出,Integer的靜態方法toString()和成員方法toString()是一樣的,成員方法里面僅僅是調用了靜態方法而已。如下圖所示:

通過toString()方法,可以把整數(包括0)轉化為字符串,但是Integer如果是null的話,就會報空指針異常。

2、String.valueOf(Object obj)

可以把整型(包括0)轉化為字符串,但是Integer如果是null的話,會轉化為”null”。從String.valueOf(Object obj)方法的源碼可以看出:

 public static String valueOf(Object obj) {
        return (obj == null) ? "null" : obj.toString();
    }

3、當Integer是null的情況下,我們也希望String是null,上面的方法都沒法做到。可以自己寫一個方法:

 public static String toString(Object obj) {
        return (obj == null) ? null : obj.toString();
    }

另外,Apache提供的ObjectUtils.identityToString(Object obj)也可以實現。但是ObjectUtils.toString(Object obj)不行,該方法會把null轉化為”“。

二、String轉Integer

當我們要把String轉化為Integer時,一定要對String進行非空判斷,否則很可能報空指針異常。

String str = "...";
Integer i = null;
if(str!=null){
     i = Integer.valueOf(str);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM