Confusion with "array var-args" as parameter
<p>What does this mean? I can't tell what the first method <code>m</code> parameter declaration means.</p>

<p>It refuses to pass in a <code>String</code> but allows a single-dimensional array <code>String []</code> and a two-dimensional array <code>String[][]</code>. It does not allow <code>[][][]</code> or anything more.</p>

<p>Can someone clear this up?</p>

<pre><code>class j{
    public static void m(String [] ...  a) {
        System.out.println("Y");
    }

    public static void main(String[] args) {
        String [][] s = {};
        m(s);
    }
}
</code></pre>

<p>Thanks.</p>
