title: == with Enum name() and toString()
body: <p>Can anyone explain why toString() and name() are referencing the same String? when I used == to compare them with a String literal they all pass! How does enum name work with String pool from JVM?</p>
  
  <pre><code>static enum User
  {
     BASIC, PREMIUM;
  }
  
  System.out.println("BASIC" == User.BASIC.toString()); // true
  System.out.println("BASIC" == User.BASIC.name());     // true
  </code></pre>