Java 泛型错误 : Cannot convert from E to E?

标签 java generics

public class PriorityQueue<E> {


private E[] array;
private int size;
private int front;
private int back;
private int numOfElements = 0;
private static int EMPTY = 0;



public <E> int insert(E input)
{
    if (numOfElements + 1 <= size)
    {
        array[back] =  input;
        back++;
        numOfElements++;

    }


    return 0;
}

出于某种原因,我收到一个编译错误,提示我无法将类型为 E 的输入文件转换为类型 E。这是为什么?是因为它在技术上不是同一类型的 E 吗?

最佳答案

你声明了两个同名的类型参数 E .没有必要这样做。类声明中的类型参数 PriorityQueue<E>就够了。

改变

public <E> int insert(E input)

public int insert(E input)

关于Java 泛型错误 : Cannot convert from E to E?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26257182/

相关文章:

java - 有界类作为参数

c# - 泛型如何实现结构?

generics - 使用 "any of"而不是 "all of"的 Kotlin 通用约束

java - 如何检查字符串是否包含 '+' 字符

java - ANTLR - 嵌入 Java 代码,评估之前还是之后?

java - 使用 Java 将结果集转换为 CSV 文件

c# - Generic List<T> 作为方法的参数

java - 关键监听器事件未触发?

java - Libgdx:骨架存储动画和移动网格部件

C# 通用基础多态性