每個對象的類型在對象創建的時候已經確定並且不能更改,所謂強制轉換也只是使其表面上換成了另一種類型。
toString()
Object 類的 toString()方法返回一個字符串,該字符串由類名(對象是該類的一個實例)、at 標記符“@”和此對象哈希碼的無符號十六進制表示組成。
getClass().getName() + '@' + Integer.toHexString(hashCode());
但是調用toString()方法的對象不能爲null,否則會拋出異常:java.lang.NullPointerException
(String)object
- 將object轉成String類型的值。
使用這種方法時,需要注意的是類型必須能轉成String類型。像char、int可用toString()方法轉換。
Integer obj = new Integer(100);
String strVal = (String)obj;
//int 無法轉換爲String,報錯
Object obj = new Integer(100);
String strVal = (String)obj;
//實質仍爲int,報錯
String.valueOf()
本身調用了toString()方法,源碼如下:
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
調用 toString() 之前判斷一下這個對象是不是null,如果不是null,則正常調用其toString()方法;如果是null 的話,則返回字符串形式的null。