Java Object.toString方法

2020-08-18 10:38 更新

Java面向?qū)ο笤O(shè)計(jì) - Java Object.toString方法


對(duì)象的字符串表示應(yīng)以可讀格式包含有關(guān)對(duì)象狀態(tài)的足夠信息。

Object類的toString()方法表示字符串中類的對(duì)象。

Object類提供了toString()方法的默認(rèn)實(shí)現(xiàn)。它返回一個(gè)以下格式的字符串:

<fully qualified class name>@<hash code of object in hexadecimal>

例子

考慮下面的代碼及其輸出。您可能會(huì)得到不同的輸出。

public class Main{
  public static void main(String[] argv){
    Object obj  = new Object();
    String objStr = obj.toString();
    System.out.println(objStr);
  }
}

上面的代碼生成以下結(jié)果。


例2

以下代碼顯示了如何創(chuàng)建自己的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;
  }
}

上面的代碼生成以下結(jié)果。


注意

您需要確保它被聲明為public,它的返回類型是String,并且它不接受任何參數(shù)。

類的toString()方法非常重要。當(dāng)需要對(duì)象的字符串表示時(shí),Java會(huì)自動(dòng)調(diào)用toString()方法。

有兩種情況值得一提:

當(dāng)你連接一個(gè)字符串和一個(gè)對(duì)象

String str = "Hello" + new Point(10, 20);

Java在Point對(duì)象上調(diào)用toString()方法,并將返回的值連接到“Hello"字符串。

上述語句與以下語句相同:

String str = "Hello" + new Point(10, 20).toString();
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)