When should I override toString()?
<p>I know that the <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html#toString%28%29" rel="nofollow">Javadocs says</a>:</p>

<blockquote>
  <p>Returns a string representation of the object. In general, the
  toString method returns a string that "textually represents" this
  object. The result should be a concise but informative representation
  that is easy for a person to read. It is recommended that all
  subclasses override this method.</p>
</blockquote>

<p>But when should I spend time overriding the <code>toString</code> method for my classes? Should it be one of the first things I do along with overriding <code>equals</code> and <code>hashCode</code>?  Or should I wait until it's actually needed?  </p>

<p>I know Eclipse can auto generate <code>toString</code> methods for you, so should I just have Eclipse auto generate them once I know the fields for my class?</p>
