php小编柚子带来的java问答精选,今日问题:类型不匹配:无法从 DLL
我正在努力实现带有嵌套节点类的双向链表。由于类的通用性质,我收到类型不匹配错误。由于嵌套类不是静态类,我认为它将使用顶层类中的泛型类型运算符。
public class DLL <E> { public class Node<E>{ private E element; private Node<E> prev; private Node<E> next; public <E> Node (E element, Node <E> prev, Node<E> next){ this.element = element; // Error: Type mismatch: cannot convert from E to E this.prev = prev; // Error: Type mismatch: cannot convert from DLL<E>.Node<E> to DLL<E>.Node<E> this.next = next;// Error: Type mismatch: cannot convert from DLL<E>.Node<E> to DLL<E>.Node<E> }
任何帮助都会很棒!
而不是重新声明泛型类型 e
。 node 构造函数应使用外部 dll<e>
类中的泛型类型 e
。解决办法如下:
public class DLL<E> { public class Node { private E element; private Node prev; private Node next; public Node(E element, Node prev, Node next) { this.element = element; this.prev = prev; this.next = next; } } }
以上是类型不匹配:无法从 DLL