title: Why can't I have a duplicate case in my switch statement?
body: <p>I understand that this will fail to compile:</p>
  
  <pre><code>int caseNum = 2;
  
  switch(caseNum)
  {
      case 2:
          System.out.println("Happy");
          break;
      case 2:
          System.out.println("Birthday");
          break;
      case 2:
          System.out.println("To the ground!");
          break;
      default:
          System.out.println("&lt;3");
          break;
  }
  </code></pre>
  
  <p>I know that the case statements are conflicting and that the compiler "doesn't know which 'case 2' I am talking about".  A few peers of mine and myself were wondering behind the scenes what the conflict is and had heard that switch statements are converted into hash-maps.  Is that the case, does a switch statement become a hash-map during compile time and the conflict in the mapping create the error?  </p>
  
  <p>So far I have looked around Stack Overflow and Google for an answer, and the information must be out there already, but I am unsure how to express the question correctly it would appear.  Thanks in advance!</p>