title: Initialization of a boolean with a Boolean.FALSE/.TRUE - why?
body: <p>In some of our companys projects code I often read something like this:</p>
  
  <pre><code>boolean foo = Boolean.FALSE;
  </code></pre>
  
  <p>Besides the fact that AFAIK I only have to initialize local variables in Java at all (no random values like in Pascal) and besides the fact that especially for booleans I often WANT to have an initialization, what do I miss here? Why not:</p>
  
  <pre><code>boolean foo = false;
  </code></pre>
  
  <p>I don't get it. And code analyzation tools like PMD and Findbugs mark it, too. But why?</p>
  
  <p>Edit: 
  Without really knowing much about the bytecode except that it is there I created an example class and decompiled it. The Boolean.FALSE went to: </p>
  
  <pre><code>0: getstatic #15 // Field java/lang/Boolean.FALSE:Ljava/lang/Boolean; 
  3: invokevirtual #21 // Method java/lang/Boolean.booleanValue:()Z 
  6: istore_1 
  </code></pre>
  
  <p>The 'false' variant went to:</p>
  
  <pre><code>0: iconst_1 
  1: istore_1 
  </code></pre>
  
  <p>So without knowing too much about this, I'd guess that more statements means more time to execute so it's not only wrong but also slower in the long run.</p>