title: Java String: difference between null and empty
body: <p>I don'd understand the difference between a null String and an empty String in Java. </p>
  
  <p>Suppose <code>String a = null</code>, and I want to see if a is null by using <code>a.isEmpty()</code> or <code>a.equals("null")</code>. Neither of these works. I have to use <code>a == null</code> to tell that if a is <code>null</code> or not.</p>
  
  <p>From my understanding, if you use <code>==</code> between two strings, you are actually comparing their addresses or references in memory? Is this understanding right? I hope someone can clarify my confusion. Thanks in advance.</p>