What's the difference between "c&&c" and "[c&&c]" in Java's regular expressions? : <p>With this call,</p>

<pre><code>System.out.println(Pattern.matches("[c&amp;&amp;c]", "c"));
</code></pre>

<p>I got <code>true</code>. However, with this call,</p>

<pre><code>System.out.println(Pattern.matches("c&amp;&amp;c", "c"));
</code></pre>

<p>I got <code>false</code>. The second call does not get any exceptions thrown, which means it's a valid regular expression. <strong>However, I'm not sure that's acceptable because, in Java API, the operator <code>&amp;&amp;</code> seems to only occur between brackets.</strong> Then, what's the meaning of <code>&amp;&amp;</code> in the second call?</p>
