在下面的 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;
}
}