java toString()返回此

时间:2011-11-26 12:32:48

标签: java

在字符串toString()方法中返回this,当我传递System.out.println()时,它会打印String的内容。对我来说这是多么令人困惑。可以来解释一下。

public String toString() { return this; }

感谢。

2 个答案:

答案 0 :(得分:10)

在Java中toString上定义的Object方法负责将对象转换为String表示。由于String已经是String,因此toString方法只返回自身。

答案 1 :(得分:6)

  

当我传递System.out.println()时,它会打印字符串的内容

事实上,当您将String传递给System.out.println 时,无论如何都不会通过toString System.out引用PrintStream对象,该对象的方法立即接受String

  

public void println(String x)

     

打印一个字符串,然后终止该行。


toString的合同是返回对象的字符串表示形式:

  

public String toString()

     

返回对象的字符串表示形式。 通常,toString方法返回一个“文本表示”此对象的字符串。结果应该是一个简洁但信息丰富的表示,便于人们阅读。建议所有子类都重写此方法。

由于String碰巧 一个String,它可以自行返回(this)!