title: Bounded mismatch in Eclipse. "The type is not a valid substitute for the bounded parameter"
body: <p>I have a generic class, Storage, and another generic class, StoragePlus. I'm getting a bounded error mismatch error for the lines with comments in bold below.</p>
  
  <p>Here's my code for the first class.</p>
  
  <pre><code>public class Storage&lt;T extends Comparable&lt;? super T&gt;&gt; {
  //private T t;
  private T[] isafe;
  public int max;
  private int nextIndex;
  
  public Storage(int maxNum, T[] seedArr){
  
      if(maxNum &lt; 0){
          throw new IllegalArgumentException();
      }
      else{
  
          isafe = Arrays.copyOf(seedArr, maxNum);
          nextIndex = 0;
          max = maxNum;
  
      }
  }
  </code></pre>
  
  <p>and here's the code for the second class.</p>
  
  <pre><code>public class StoragePlus &lt;T&gt; extends Storage&lt;T&gt;{ **//getting an error here**
  
  public StoragePlus(int maxNum, T[] arr){
      super(maxNum,(Comparable[]) arr);
  }
  
  @Override
  public boolean equals(Object obj){
      if(obj == null|| obj.getClass() != this.getClass()){
          return false;
      }
      else{
          if(obj == this){
              return true;    
          }
          else{
              @SuppressWarnings("unchecked")
          Storage&lt;?&gt; temp = (Storage&lt;T&gt;) obj; **// also getting an error here**
          }
      }
  }
  }
  </code></pre>