title: Array of <? extends T> in Java
body: <p>Is it possible to declare an array of something that extends some class?</p>
  
  <p>I can do:</p>
  
  <pre><code>Map[] foo;
  T[] foo;     //(in generic class)
  Map... foo;  //(as argument declaration for "implicit" array)
  T... foo;    //(as argument declaration in generic class for "implicit" array)
  </code></pre>
  
  <p>But I need something like:</p>
  
  <pre><code>&lt;? extends Map&gt;[] foo;
  &lt;? extends T&gt;[] foo;     //(in generic class)
  &lt;? extends Map&gt;... foo;  //(as argument declaration for "implicit" array)
  &lt;? extends T&gt;... foo;    //(as argument declaration in generic class for "implicit" array)
  </code></pre>
  
  <p>It could be used some <code>List&lt;? extends T&gt;</code> instead but it's not quite an array. For Example, if you want to use it in a like this:</p>
  
  <pre><code>public class MyClass&lt;T&gt; {
     public void foo(int someOtherStuff, &lt;? extends T&gt;... optionalArray){
        //some code
     }
  }
  </code></pre>
  
  <p><em>Maybe "implicit" array isn't correct, please tell me how they're called correctly.</em></p>