use*_*042 5 java generics arraylist
我有一个任务,要求我从头开始实现一个通用的优先级队列,但是我得到一个我认为没有任何意义的错误.
public class PriorityQueue<E> {
private ArrayList<E> items = new ArrayList<E>(0);
...
public <E extends Comparable<E>> void insert(E newItem){
if(numOfItems == 0){
items.add(newItem); //ERROR: The method add(E) in the type ArrayList<E>
is not applicable for the arguments (E)
rear++;
numOfItems++;
}else{
//INCOMPLETE
}
}
}
Run Code Online (Sandbox Code Playgroud)
你不需要
<E extends Comparable<E>>
Run Code Online (Sandbox Code Playgroud)
在这种情况下。您已经在类级别声明了它,因此不需要在方法声明中使用类型参数。
你可以直接声明
public void insert(E newItem){
Run Code Online (Sandbox Code Playgroud)
然后它就会编译。
| 归档时间: |
|
| 查看次数: |
409 次 |
| 最近记录: |