gpt4 book ai didi

java - poll() 返回类型与 PriorityBlockingQueue.poll() 冲突

转载 作者:行者123 更新时间:2023-12-01 14:32:50 27 4
gpt4 key购买 nike

在下面的 poll() 方法中,我的 IDE 提示它返回 JobSet。工具提示显示: my.package.JobSetQueue 中的 poll() 与 java.util.concurrent.PriorityBlockingQueue 中的 poll() 冲突;尝试使用不兼容的返回类型

为什么我不能在这里使用我想要的任何返回类型?

public class JobSetQueue extends PriorityBlockingQueue<FIFOEntry<JobSet>> {
public JobSetQueue() {
super(1, new JobSetComparator());
}

public boolean add(JobSet jobSet) {
return super.add(new FIFOEntry<JobSet>(jobSet));
}

public JobSet poll() {
/*FIFOEntry<JobSet> entry = super.poll();
return entry.getEntry();*/
return super.poll().getEntry();
}
}



public class FIFOEntry<T> {
final static AtomicLong seq = new AtomicLong();
private final long sequenceNumber;
private final T entry;

public FIFOEntry(T entry) {
sequenceNumber = seq.getAndIncrement();
this.entry = entry;
}

public long getSequenceNumber() {
return sequenceNumber;
}

public T getEntry() {
return entry;
}
}

最佳答案

PriorityBlockingQueue 已经有一个方法 poll() 具有通用返回类型。您无法覆盖方法并将其返回类型更改为某种不兼容的类型,请参阅 JLS 部分 method overrides以及 method return types return-type-substitutable 的部分.

就您而言,PriorityBlockingQueue<FIFOEntry<JobSet>>预计 poll()返回FIFOEntry<JobSet> .

关于java - poll() 返回类型与 PriorityBlockingQueue.poll() 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16720426/

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