title: wildcard(?) works while type "T" doesn't in generics - why?
body: <p>I'm quiet new into generics in java. I have an Interface called <code>RIEngine</code>. </p>
  
  <p>I was trying following example:</p>
  
  <pre><code>private &lt;T&gt; boolean allExist(List&lt;T extends RIEngine&gt; resultedList, 
                               String... columnName)
  { ... }
  </code></pre>
  
  <p>doesn't compile.</p>
  
  <p>But</p>
  
  <pre><code>private &lt;T&gt; boolean allExist(List&lt;? extends RIEngine&gt; resultedList, 
                              String... columnName)
  { ... }
  </code></pre>
  
  <p>compiles. </p>
  
  <p>My question is: why is this so. </p>
  
  <p>Why can't I use type = "T" instead of wild card?</p>
  
  <p>Please help me to understand.</p>