1. 程式人生 > >String和Integer相互轉化。

String和Integer相互轉化。

一、Integer轉String

  1. //方法一:Integer類的靜態方法toString()

  2. Integer a = 2;

String str = Integer.toString(a)

  1. //方法二:Integer類的成員方法toString()

  2. Integer a = 2;

  3. String str = a.toString();

  4. //方法三:String類的靜態方法valueOf()

  5. Integer a = 2;

  6. 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);

--------------------- 本文來自 a55650892 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/a5650892/article/details/78764431?utm_source=copy