Initializing array with values - should I explicitly instance the class or not?
<p>I often see arrays being initialized like this:</p>

<pre><code>String[] array = new String[] { "foo", "bar", "baz" };
</code></pre>

<p>But reading the <a href="http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html">Language Basics - Arrays</a> shows that the short syntax doesn't require explicitly instancing the constructor:</p>

<blockquote>
  <p>Alternatively, you can use the shortcut syntax to create and
  initialize an array:</p>

<pre><code> int[] anArray = { 
     100, 200, 300,
     400, 500, 600, 
     700, 800, 900, 1000
 };
</code></pre>
</blockquote>

<hr>

<p>So, assuming these two methods of initialization:</p>

<pre><code>String[] array = new String[] { "foo", "bar", "baz" };
String[] array2 = { "foo", "bar", "baz" };
</code></pre>

<p>Is there any difference between these? Both seems to work the same, in that case should I assume that the second one implicitly calls the <code>new String[]</code> and the first one is just a more verbose way, or is there more to it behind the scenes?</p>

<p>Starting with Java so sorry if this is way too stupid of a question, but I couldn't find anything about this in the web.</p>
