title: Why List<Object> list = new ArrayList<String>() this give TypeMismatch error
body: <pre><code>List&lt;Object&gt; list = new ArrayList&lt;String&gt;()
  </code></pre>
  
  <p>When I use the above line compiler gives me type mismatch error. But as I understand Object is super class of String and if I create list of object then it should also accept String. So why above statement is wrong. I am looking for an explanation.</p>