java - 如何将通用项添加到通用 ArrayList?

标签 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
       }
    }
}

最佳答案

public <T extends Comparable<E>> void insert(E newItem){

将第一个 'E' 更改为 'T',因为类型参数隐藏了原始的 'E'

关于java - 如何将通用项添加到通用 ArrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20537120/

相关文章:

Java servlet sendRequest - getParameter编码问题

java - CellContext.isExpanded() 在 JXTreeTable 中始终返回 true

java - 添加 MouseListener 会破坏 Keylistener

TypeScript 索引访问类型约束行为异常

java - 从存储在数组列表中的对象调用方法

java - 我想在使用窗口句柄时拆分存储在字符串中的值

C# - 我们应该如何在接口(interface)中实现 default(T)?

Java按泛型类型获取集合

java - 有效地从 ArrayList 中获取子列表

java - 确定两个数组列表中没有不同项目的代码