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/