title: Is it good practice to use java.lang.String.intern()?
body: <p>The Javadoc about <a href="http://java.sun.com/javase/6/docs/api/java/lang/String.html#intern()" rel="noreferrer"><code>String.intern()</code></a> doesn't give much detail. (In a nutshell: It returns a canonical representation of the string, allowing interned strings to be compared using <code>==</code>)</p>
  
  <ul>
  <li>When would I use this function in favor to <code>String.equals()</code>?</li>
  <li>Are there side effects not mentioned in the Javadoc, i.e. more or less optimization by the JIT compiler?</li>
  <li>Are there further uses of <code>String.intern()</code>?</li>
  </ul>