Difference between generics <T extends Number & Comparable<T>> and T extends Comparable<? extends Number>
<p>Can someone explain the difference between <code>&lt;T extends Number &amp; Comparable&lt;T&gt;&gt;</code> and <code>T extends Comparable&lt;? extends Number&gt;</code>? </p>

<p>These look similar to me and both of them compiles fine for sub classes type. The invalid type args shows below error</p>

<blockquote>
  <p>Type parameter is not within bound parameter;should implement
  'java.lang.Number'</p>
</blockquote>

<p>and</p>

<blockquote>
  <p>Type parameter is not within bound parameter; should extend
  'java.lang.Comparable>'</p>
</blockquote>

<p>respectively.</p>