首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么这会给我一个界限错误?

为什么这会给我一个界限错误?
EN

Stack Overflow用户
提问于 2012-11-25 23:33:44
回答 2查看 39关注 0票数 0

我有一个定制的“堆”类:

代码语言:javascript
运行
复制
public class Heap<T extends Comparable<T>>
{
    ArrayList<T> heapList;


    public Heap()
    {
        heapList = new ArrayList<T>();

    }

和一个自定义的"Process“类:

代码语言:javascript
运行
复制
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>();,我会得到以下错误:

绑定不匹配:类型进程不能有效地替代类型堆的有界参数>

为什么会这样呢?我好像搞不懂。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-25 23:37:15

process对象需要实现Comparable接口。

基于优先级的示例实现比较

代码语言:javascript
运行
复制
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文档

票数 1
EN

Stack Overflow用户

发布于 2012-11-25 23:34:44

过程不能实现可比的

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13556745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档