java-String與Integer的相互轉化


一、Integer轉String

  1. //方法一:Integer類的靜態方法toString()
  2. Integer a = 2;
  3. String str = Integer.toString(a)
  4.  
  5. //方法二:Integer類的成員方法toString()
  6. Integer a = 2;
  7. String str = a.toString();
  8.  
  9. //方法三:String類的靜態方法valueOf()
  10. Integer a = 2;
  11. 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)方法的源碼可以看出:

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

 

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

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

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

二、String轉Integer

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

  1. String str = "...";
  2. Integer i = null;
  3. if(str!=null){
  4. i = Integer.valueOf( str);
  5. }
 


免責聲明!

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



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