title: Why can't you have a "List<List<String>>" in Java?
body: <p>In Java, why doesn't the following line of code work?</p>
  
  <pre><code>List&lt;List&lt;String&gt;&gt; myList = new ArrayList&lt;ArrayList&lt;String&gt;&gt;();
  </code></pre>
  
  <p>It works if I change it to</p>
  
  <pre><code>List&lt;ArrayList&lt;String&gt;&gt; myList = new ArrayList&lt;ArrayList&lt;String&gt;&gt;();
  </code></pre>
  
  <p>At first, I thought maybe you can't have lists of an interface, but I can create a <code>List&lt;Runnable&gt;</code> just fine.</p>
  
  <p>Ideas?</p>