【发布时间】:2020-03-09 19:08:13
【问题描述】:
由于任务的原因,我已经使用优先级队列实现了它。 我的问题是为什么它会这样工作:
public <T> void heapSort(List<T> elements){
PriorityQueue<T> q = new PriorityQueue<>(elements);
elements.clear();
while (!q.isEmpty()){
elements.add(q.poll());
}
}
但是当我用通配符更改它时它停止工作?
public void heapSort(List<?> elements){
PriorityQueue<?> q = new PriorityQueue<>(elements);
elements.clear();
while (!q.isEmpty()){
elements.add(q.poll());
}
}
【问题讨论】:
-
?收到什么错误消息?
标签: java generics methods wildcard