case1:Object 物件轉String
需要強調的是String.valueOf()方法,當參數為類型是object,且值時null的時候他的處理方式
public static String valueOf(Object obj) { return (obj == null) ? "null" : obj.toString(); }
這樣在後面的成都不會報錯但是在邏輯上可能出錯,一般習慣寫的是str!=null && str.length()>0,當是由str = String.valueOf(obj)得到時上面的額判斷條件就有問題了
所以遇到Object 物件轉String 最好強轉str= (String) obj此時,當obj為null時,str依然為null,case2:Object 裝基本型別的包裝類型,(關注integer和Long,Double)
首先obj被賦值之後obj還是屬於資料所屬基本類型的包裝類型可以透過instanceOf 判斷知道.
#所以直接用強轉就可以,沒有必要用類似Long.ParseLong(String.valueOf(obj))這類方法,用這中複雜的問題會有一個問題就是不能回傳值不能包含null
#如果是null就直接拋出異常了,因為在String.valueOf()方法時已經把null轉為字串了,而Long.parseLong()方法如果傳入了null字串就會報異常,
Long.ParseLong(String.valueOf(obj)) 方法就等價與(long)obj,用基本型別去強轉
更好的做法是用(Long)obj去強轉,在後面的程式中做null情況的判斷和處理
case3: 基本類型的包裝類型和String的vlaueOf方法對與obj=null的處理是不一樣的,String.valueOf(obj)的處理傳回的"null"字串,而基本類型的包裝類型傳回的null
強調,String不是基本型別,更不是基本包裝型別
##總結:
1遇到obj類型轉string時最好強轉2遇到obj類型轉幾倍類型的包裝類型時最好強轉,如果需要可以先用instanceOf判斷其類型時再強轉相關推薦】 1.Java中valueOf,parseInt,toString三者的差異##2.
Java中valueOf和toString,(String)的差異tostring()和valueof()的用法及兩者的差異valueOf函數與toString方法深入理解object轉換函數toString()與valueOf()介紹JavaScript中用toString()方法傳回時間為字串以上是詳解java 中valueOf方法實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!