title: Generics : List<? extends Animal> is same as List<Animal>?
body: <p>I am just trying to understand the <code>extends</code> keyword in Java Generics.</p>
  
  <p><code>List&lt;? extends Animal&gt;</code> means we can stuff any object in the <code>List</code> which <strong>IS A</strong> <code>Animal</code></p>
  
  <p>then won't the following also mean the same thing:</p>
  
  <pre><code>List&lt;Animal&gt;
  </code></pre>
  
  <p>Can someone help me know the difference between the above two? To me <code>extends</code> just sound redundant here.</p>
  
  <p>Thanks!</p>