title: Why does Java allow null value to be assigned to an Enum?
body: <p>This is more of a design question, so no code. I could post code of creating an Enum and assigning it to <code>null</code> if you want me to do it. :))</p>
  <p>I've been thinking a lot about this lately, but can't come up with one good reason. The Enum constants are implicitly <em>static</em> and <em>final</em>. Enum is meant to say - &quot;I can take a value of one of the constants present in me&quot;. Why allow Enum to have a <code>null</code> value? Why not implicitly default the Enum's value to a <code>Enum.DEFAULT</code> or <code>Enum.None</code>? Isn't this a better approach than allowing the Enum to be <code>null</code>?</p>