title: Using wildcard in method argument
body: <p>I have declared a method whose argument is subtype of <code>Number</code> as given below:</p>
  
  <pre><code>public static void organizeData(java.util.List&lt;? extends Number&gt; c) {
      //operation on the list
  }
  </code></pre>
  
  <p>I am able to pass any non-parameterized lists as argument. So what is the point of using wildcard <code>&lt;? extends Number&gt;</code>?</p>
  
  <pre><code>List newList = new LinkedList&lt;&gt;();
  ClassName.organizeData(newList);
  </code></pre>
  
  <p>Why do I get element of type <code>Object</code> from <code>c</code>? And not of type <code>Number</code>? Is there a way to allow only subtypes of a type to be passed as arguments as opposed to allowing non-parameterized arguments also?</p>