簡體   English   中英

PriorityQueue Comparator類型與Arrays.sort()沖突

[英]PriorityQueue Comparator type conflict with Arrays.sort()

我的比較器當前已輸入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());
} 

在此輸入圖像描述

queue.toArray()返回一個Object[] ,您提供的Comparator無法處理。

您將需要使用備用toArray() ,它采用預期類型的​​數組:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM