Why is this giving me a bounds error?
<p>I have a custom "Heap" class:</p>

<pre><code>public class Heap&lt;T extends Comparable&lt;T&gt;&gt;
{
    ArrayList&lt;T&gt; heapList;


    public Heap()
    {
        heapList = new ArrayList&lt;T&gt;();

    }
</code></pre>

<p>and a custom "Process" class:</p>

<pre><code>public class Process {
    private int processID, timeUnitsRequired, priority, timeOfArrival;

    public Process(int processID, int timeUnitsRequired, int priority, int timeOfArrival) {
        this.processID = processID;
        this.timeUnitsRequired = timeUnitsRequired;
        this.priority = priority;
        this.timeOfArrival = timeOfArrival;
    }
</code></pre>

<p>But if I try to make a new Heap of Processes, like <code>Heap&lt;Process&gt; processHeap = new Heap&lt;Process&gt;();</code> I get the following error:</p>

<blockquote>
  <p>Bound mismatch: The type Process is not a valid substitute for the bounded parameter > of the type Heap</p>
</blockquote>

<p>Why is this? I can't seem to figure it out.</p>
