title: Why does Java not support type inference for constructors?
body: <p>E.G. to create an ArrayList of Strings we have to do something like</p>
  
  <pre><code>List&lt;String&gt; list = new ArrayList&lt;String&gt;();
  </code></pre>
  
  <p>whereas it should be able to infer the parameter type for the constructor so that we only have to type</p>
  
  <pre><code>List&lt;String&gt; list = new ArrayList();
  </code></pre>
  
  <p>Why can't the type be infered in the same way that type parameters are infered for generic methods.</p>