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();
    

上一篇: Java對象相等比較(Equals) 下一篇: Java對象克隆