在字符串toString()
方法返回this
當我通過它System.out.println()
它打印String
的內容。這讓我感到困惑,情況如何。請來解釋一下。java toString()返回這個
public String toString() { return this; }
謝謝。
在字符串toString()
方法返回this
當我通過它System.out.println()
它打印String
的內容。這讓我感到困惑,情況如何。請來解釋一下。java toString()返回這個
public String toString() { return this; }
謝謝。
在Java中定義於Object
的toString
方法負責將對象轉換爲字符串表示形式。由於String
已經是一個字符串,所以toString
方法只是簡單地返回它自己。
,當我通過它的System.out.println()將打印字符串
事實上的內容,當你通過一個String
到System.out.println
你不通過無論如何,toString
。所述System.out
是指其具有立即接受String
個方法的PrintStream
對象:
public void println(String x)
打印String,然後終止該行。
的toString
該合同是返回對象的字符串表示:
public String toString()
返回該對象的字符串表示。 一般而言,
toString
方法將返回一個字符串,用於「文本地表示」此對象。結果應該是一個簡明但內容豐富的表示,對於一個人來說很容易閱讀。建議所有子類重寫此方法。
由於String
恰好是一個String
它可以返回本身(this
)!
事實上,正如您的評論所示,toString方法的契約非常鬆散。實施可能會有很大差異。許多類只返回類名和實例ID。 String類返回字符串值。這意味着toString方法通常僅用於調試。一個重要的例外是StringBuffer的toString方法。 – dnuttle
也可能有助於知道關鍵字'this'引用了當前對象。 – bdares