title: why the logical operators change the object
body: <p>why when I use the below code eclipse highlights <code>(!line.equals(""))</code> with red and says: null pointer access: The variable line can only be null at this location</p>
  
  <p>but I do not receive that warning message if I used : &amp;&amp; instead of ||?</p>
  
  <p><strong>code</strong>:</p>
  
  <pre><code>String line = br.readLine();
          if ( (line != null) || (!line.equals("")) ) {
          } else {
              Log.d(TAG, "main", "file is empty");
          }
  </code></pre>