title: Why don't we have to provide parentheses when initializing an array object in Java?
body: <p>I'm learning Java from the ground up right now, and one thing I found interesting was that most more complex data structures must be created in this fashion:</p>
  
  <pre class="lang-java prettyprint-override"><code>ArrayList&lt;String&gt; list = new ArrayList&lt;String&gt;();
  </code></pre>
  
  <p>On the other hand, one can simply initialize a string by typing</p>
  
  <pre class="lang-java prettyprint-override"><code>String[] str_array = new String[10];
  </code></pre>
  
  <p>Why is it not necessary to provide the parentheses usually associated with calling the constructor when initializing an array? Was this just a stylistic choice? It would be awesome if someone with a better understanding of the JVM could offer some insight to sate my curiosity.</p>