我有一个定制的“堆”类:
public class Heap<T extends Comparable<T>>
{
ArrayList<T> heapList;
public Heap()
{
heapList = new ArrayList<T>();
}和一个自定义的"Process“类:
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;
}但是,如果我试图创建一个新的进程堆,比如Heap<Process> processHeap = new Heap<Process>();,我会得到以下错误:
绑定不匹配:类型进程不能有效地替代类型堆的有界参数>
为什么会这样呢?我好像搞不懂。
发布于 2012-11-25 23:37:15
process对象需要实现Comparable接口。
基于优先级的示例实现比较
public class Process implements Comparable<Process>{
@Override
public int compareTo(Object o) {
Process p2 = (Process) o;
if(this.priority > p2.priority){
return 1;
}else if(this.priority < p2.priority){
return -1;
}
return 0;
}
}可比API文档
发布于 2012-11-25 23:34:44
过程不能实现可比的
https://stackoverflow.com/questions/13556745
复制相似问题