title: Difference between an unbound wildcard and a raw type
body: <p>I was reading about generics and I did not understand the need for unbound wildcards and how it differs from raw type. I read <a href="https://stackoverflow.com/questions/7671072/what-is-the-use-and-point-of-unbound-wildcards-generics-in-java">this question</a> but still did not get it clearly. In the  <a href="http://docs.oracle.com/javase/tutorial/java/generics/unboundedWildcards.html" rel="noreferrer">Java tutorial page for unbound wildcard</a> I got below two points and I did not understood first point:</p>
  
  <blockquote>
    <ul>
    <li>If you are writing a method that can be implemented using functionality provided in the <code>Object</code> class.</li>
    <li>When the code is using methods in the generic class that don't depend on the type parameter. For example, <code>List.size()</code> or <code>List.clear()</code>. In fact, <code>Class&lt;?&gt;</code> is so often used because most of the methods in <code>Class&lt;T&gt;</code> do not depend on <code>T</code>.</li>
    </ul>
  </blockquote>
  
  <p>Can someone please explain the difference between unbound wildcard and raw type in layman language.</p>
  
  <p>How does <code>List&lt;?&gt;</code> differ from <code>List&lt;Object&gt;</code>?</p>