title: Is there a faster method to match an arbitrary String to month name in Java
body: <p>I want to determine if a string is the name of a month and I want to do it relatively quickly. The function that is currently stuck in my brain is something like:</p>
  
  <pre><code>boolean isaMonth( String str ) {
      String[] months = DateFormatSymbols.getInstance().getMonths();
      String[] shortMonths = DateFormatSymbols.getInstance().getShortMonths();
      int i;
  
      for( i = 0; i&lt;months.length(); ++i;) {
          if( months[i].equals(str) ) return true;
          if( shortMonths[i].equals(str ) return true;
      }
      return false;
  }
  </code></pre>
  
  <p>However, I will be processing lots of text, passed one string at a time to this function, and most of the time I will be getting the worst case of going through the entire loop and returning false.</p>
  
  <p>I saw another question that talked about a Regex to match a month name and a year which could be adapted for this situation. Would the Regex be faster? Is there any other solution that might be faster?</p>