title: Does String's toString() method have any practical purpose?
body: <p>I was reading <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#toString%28%29">the docs</a> and noticed it. Never imaginated it. The description:</p>
  
  <blockquote>
    <p>This object (which is already a string!) is itself returned.</p>
  </blockquote>
  
  <p>Besides filling conventions or using computing resources, what does a <code>.toString()</code> in Java do on a <code>String</code> that using the <code>String</code> itself wouldn't? Why doesn't it simply inherit the <code>.toString()</code> from class <code>java.lang.Object</code>?</p>
  
  <p>EDIT:</p>
  
  <p>I understand that in situations of polymorphism an own <code>toString()</code> method has to exist since it overrode its parent's <code>toString()</code>. What I want to know in the first question is if there is any situation where you'll get something different between using <code>stringVariable</code>/<code>"String value"</code> and using <code>stringVariable.toString()</code>/<code>"String value".toString()</code>.</p>
  
  <p>Ex. gr.: An output operation like <code>System.out.println(stringVariable.toString());</code> or a value assignment like <code>stringVariable = "String value".toString();</code>.</p>