title: Java wildcards vs type parameters
body: <p>Why does 1 work and 2 not ?</p>
  
  <p>1: </p>
  
  <pre><code>public List&lt;? extends Integer&gt; l1;
  public List&lt;? extends Number&gt; l2 = l1;
  </code></pre>
  
  <p>2:</p>
  
  <pre><code>public List&lt;U&gt; l1;
  public List&lt;S&gt; l2 = l1;
  //where U and S have been previously defined as: **S extends Number,U extends Integer**
  </code></pre>