Java對象toString()方法
對象的字符串表示以可讀格式包含有關對象狀態的信息。
Object類的toString()
方法表示字符串中類的對象。Object
類提供了toString()
方法的默認實現。 它返回一個以下格式的字符串:
<fully qualified class name>@<hash code of object in hexadecimal>
示例
考慮下面的代碼及其輸出。如是親自執行代碼可能會得到不同的輸出。
public class Main{
public static void main(String[] argv){
Object obj = new Object();
String objStr = obj.toString();
System.out.println(objStr);
}
}
上面的代碼生成以下結果。
java.lang.Object@2a139a55
實例
以下代碼顯示瞭如何創建自己的toString方法。
public class Main{
public static void main(String[] argv){
MyClass obj = new MyClass(123);
String objStr = obj.toString();
System.out.println(objStr);
}
}
class MyClass {
private int value;
public MyClass(int value) {
this.value = value;
}
public void setValue(int value) {
this.value = value;
}
public int getValue() {
return value;
}
/* override toString() method of the Object class */
public String toString() {
// Return the stored value as a string
String str = String.valueOf(this.value);
return str;
}
}
上面的代碼生成以下結果。
123
注:需要確保它被聲明爲
public
,它的返回類型是String
,並且它不接受任何參數。
類的toString()
方法非常重要。 當需要對象的字符串表示時,Java會自動調用toString()
方法。
有兩種情況值得一提:
當連接一個字符串和一個對象時,實例調用的就是
toString()
方法。String str = "Hello" + new Point(10, 20);
Java在
Point
對象上調用toString()
方法,並將返回的值並連接「Hello」
字符串。上述語句與以下語句相同:String str = "Hello" + new Point(10, 20).toString();