java toString()返回这个
在字符串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