title: static <T extends Number & Comparable<? super Number>>
body: <p>I have following class with one static method:</p>
  
  <pre><code>public class Helper {
  
      public static &lt;T extends Number &amp; Comparable&lt;? super Number&gt;&gt; Boolean inRange(T value, T minRange, T maxRange) {
          //  equivalent (value &gt;= minRange &amp;&amp; value &lt;= maxRange)
          if (value.compareTo(minRange) &gt;= 0 &amp;&amp; value.compareTo(maxRange) &lt;= 0)
              return true;
          else
              return false;
      }
  
  }
  </code></pre>
  
  <p>I try to call this method:</p>
  
  <pre><code>Integer value = 2;
  Integer min = 3;
  Integer max = 8;
  Helper.inRange(value, min, max) ;
  </code></pre>
  
  <p>Netbeans compiler show me this error message:</p>
  
  <blockquote>
    <p>method inRange in class Helper cannot be applied to given types;
      required: T,T,T
      found: java.lang.Integer,java.lang.Integer,java.lang.Integer
      reason: inferred type does not conform to declared bound(s)
        inferred: java.lang.Integer
        bound(s): java.lang.Number,java.lang.Comparable</p>
  </blockquote>
  
  <p>Any ideas?</p>
  
  <p>thanks.</p>