title: Java "abc" == "abc" operation
body: <p>When we do:</p>
  
  <pre><code>String a = new String("abc");
  String b = new String ("abc");
  </code></pre>
  
  <p>and do a <code>a == b</code> it returns <strong>false</strong> because they are 2 diferent objects.<br>
  But when we have this:</p>
  
  <pre><code>String c = "abc";
  String d = "abc";
  </code></pre>
  
  <p>and we do a <code>c == d</code> it returns <strong>true</strong>. Why is that? Should it return false also? Why does the == operator behaves as a .equals() method in this case?</p>