參考http://blog.csdn.net/u012050416/article/details/51898063 1.java.lang.Object.toString() 使用范圍:任何繼承Object的類都具有這個(gè)方法 返回:該對(duì)象的字符串表示 但是,使用toString()的對(duì)象不能為null,否則會(huì)拋出異常java.lang.NullPointerException
Integer x = new Integer(100);System.out.PRintln(x.toString());如上代碼是沒(méi)有問(wèn)題的,最終打印處數(shù)字100。 2.String.valueOf() String.valueOf()解決了toString()使用對(duì)象不能為空的問(wèn)題,實(shí)際上,該方法在底層還是使用了toString(),源碼如下
public static String valueOf(Object obj) { return (obj == null) ? "null" : obj.toString();}特別注意:當(dāng)對(duì)象對(duì)null,轉(zhuǎn)為的String類對(duì)象是字符串“null”
//這樣的代碼肯定就回有問(wèn)題,因?yàn)橛肋h(yuǎn)不會(huì)得到執(zhí)行。if(String.valueOf(o) == null){...}應(yīng)該是
if(String.valueOf(o) == "null"){...}方法3:采用類型轉(zhuǎn)換(String)object方法 (String)區(qū)別于上面兩種方法,因?yàn)樗菑?qiáng)制轉(zhuǎn)換。
使用這種方法,最好先通過(guò)instanceof()判斷被轉(zhuǎn)換的類型能不能強(qiáng)制轉(zhuǎn)為String類型。 boolean result = object instanceof class 判斷其左邊對(duì)象是否為其右邊類的實(shí)例或者可以轉(zhuǎn)化為右邊類,返回boolean類型的數(shù)據(jù)
使用這種方法時(shí),需要注意的是類型必須能轉(zhuǎn)成String類型。柔則會(huì)拋出CalssCastException異常 null值可以強(qiáng)制轉(zhuǎn)換為任何java類類型,(String)null也是合法的。 Object是可以通過(guò)強(qiáng)制轉(zhuǎn)換成為String的 Integer不能通過(guò)強(qiáng)制轉(zhuǎn)換成String。
總結(jié): 使用Object.toString()方法 的對(duì)象不能為null 使用String.valueOf(),注意返回值:如果其他對(duì)象為null,返回字符串“null”而不是null對(duì)象
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注