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);
--------------------- 本文來自 a55650892 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/a5650892/article/details/78764431?utm_source=copy