当我尝试创建节点时,出现"错误无法推断节点<>"的类型参数 为什么?我不知道为什么会这样
public class LinkedDoubleEndedQueue<T> implements DoubleEndedQueue<T> {
private static class Node<E> {
private E elem;
private Node<E> next;
private Node<E> prev;
public Node(E x, Node<E> nxt, Node<E> prv) {
elem = x;
next = nxt;
prev = prv;
}
}
private Node<T> first, last;
@Override
public void addFirst(T x) {
// TODO Auto-generated method stub
Node<T> node = new Node<>();
}
答案 0 :(得分:3)
您看到的错误掩盖了Node
构造函数接受参数的事实,因此无法调用no-args构造函数。
在类中声明自定义构造函数时,默认的no-args构造函数不再自动可用。
使用所需的args(例如t
,下一个Node
,前一个Node
)对构造函数调用进行参数化,或者向Node
添加no-args构造函数类。