參考http://blog.csdn.net/u012050416/article/details/51898063 1.java.lang.Object.toString() 使用范圍:任何繼承Object的類都具有這個方法 返回:該對象的字符串表示 但是,使用toString()的對象不能為null,否則會拋出異常java.lang.NullPointerException
Integer x = new Integer(100);System.out.PRintln(x.toString());如上代碼是沒有問題的,最終打印處數字100。 2.String.valueOf() String.valueOf()解決了toString()使用對象不能為空的問題,實際上,該方法在底層還是使用了toString(),源碼如下
public static String valueOf(Object obj) { return (obj == null) ? "null" : obj.toString();}特別注意:當對象對null,轉為的String類對象是字符串“null”
//這樣的代碼肯定就回有問題,因為永遠不會得到執行。if(String.valueOf(o) == null){...}應該是
if(String.valueOf(o) == "null"){...}方法3:采用類型轉換(String)object方法 (String)區別于上面兩種方法,因為它是強制轉換。
使用這種方法,最好先通過instanceof()判斷被轉換的類型能不能強制轉為String類型。 boolean result = object instanceof class 判斷其左邊對象是否為其右邊類的實例或者可以轉化為右邊類,返回boolean類型的數據
使用這種方法時,需要注意的是類型必須能轉成String類型。柔則會拋出CalssCastException異常 null值可以強制轉換為任何java類類型,(String)null也是合法的。 Object是可以通過強制轉換成為String的 Integer不能通過強制轉換成String。
總結: 使用Object.toString()方法 的對象不能為null 使用String.valueOf(),注意返回值:如果其他對象為null,返回字符串“null”而不是null對象
新聞熱點
疑難解答