gpt4 book ai didi

java - PriorityQueue 比较器类型与 Arrays.sort() 冲突

转载 作者:搜寻专家 更新时间:2023-11-01 01:44:13 26 4
gpt4 key购买 nike

我的比较器当前输入的是 JobSet .我不确定为什么它有 <capture - 我以前从未见过。有人可以阐明这里发生了什么吗?

比较器...

public class JobSetComparator implements Comparator<JobSet> {
@Override
public int compare(JobSet o1, JobSet o2) {
return Integer.compare(o1.getHighestPriority().getValue(), o2.getHighestPriority().getValue());
}
}

队列...

protected JobSetQueue queue = new JobSetQueue(0, new JobSetComparator());

public JobSetQueue getQueue() {
return queue;
}

public JobSet[] getPrioritizedQueue() {
return Arrays.sort(queue.toArray(), queue.comparator());
}

enter image description here

最佳答案

queue.toArray() 返回一个 Object[],您提供的 Comparator 无法处理。

您需要使用备用 toArray() ,它采用预期类型的​​数组:

JobSet[] queueArray = queue.toArray(new JobSet[]{});
Arrays.sort(queueArray, queue.comparator());
return queueArray;

关于java - PriorityQueue 比较器类型与 Arrays.sort() 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16618515/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com