title: Related to String interning
body: <pre><code>public static void main(String[] args) {
  
      String a = new String("lo").intern();
      final String d = a.intern();
      String b = "lo";
      final String e = "lo";
      String c = "Hello";
      System.out.println(b==a);//true
      System.out.println(d==a);//true
      System.out.println(e==a);//true
      System.out.println(c=="Hel"+a); //why is this false? when e==a is true
      System.out.println(c=="Hel"+d); //why is this false?
      System.out.println(c=="Hel"+b); //why is this false?
      System.out.println(c=="Hel"+e); //this is true
  
  }
  </code></pre>
  
  <p>This results in </p>
  
  <pre><code>true
  true
  true
  false
  false
  false
  true
  </code></pre>
  
  <p>The expression <code>e==a</code> is true implies same reference. So why the last expression is true but the 4th to last ie <code>c== "Hel"+a</code> is false?</p>