java對象轉換String類型的三種方法

在很多情況下我們都需要將一個對象轉換爲String類型。一般來說有三種方法可以實現:Object.toString()、(String)Object、String.valueOf(Object)。下面對這三種方法一一分析

一、採用Object.toString()
toString方法是java.lang.Object對象的一個public方法。在java中任何對象都會繼承Object對象,所以一般來說任何對象都可以調用toString這個方法。這是採用該種方法時,常派生類會覆蓋Object裏的toString()方法。
但是在使用該方法時要注意,必須保證Object不是null值,否則將拋出NullPointerException異常。

二、採用(String)Object
 該方法是一個標準的類型轉換的方法,可以將Object轉換爲String。但是在使用該方法是要注意的是需要轉換的類型必須是能夠轉換爲String的,否則會出現CalssCastException異常錯誤。

複製代碼代碼如下:

Object o = new Integer(100);
String string = (String)o;

這段程序代碼會出現java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String。因爲將Integer類型強制轉換爲String類型,無法通過。

三、String.valueOf(Object)
上面我們使用Object.toString()方法時需要擔心null問題。但是使用該方法無需擔心null值問題。因爲在使用String.valueOf(Object)時,它會判斷Object是否爲空值,如果是,則返回null。下面爲String.valueOf(Object)的源碼:

複製代碼代碼如下:

public static String valueOf(Object obj) {
     return (obj == null) ? "null" : obj.toString();

}

從上面我們可以看出兩點:一是不需要擔心null問題。二是它是以toString()方法爲基礎的。
但是一定要注意:當object爲null時,String.valueOf(object)的值是字符串對象:"null",而不是null!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章