Я пытаюсь программировать структуру стека на Java. Мой код выглядит следующим образом:
class Stack<T>{
private static class Node<T>{
private T data;
private Node<T> next;
public Node(T data){
this.data = data;
}
}
private Node<T> top;
public Stack(){
top = null;
}
public Stack(Node<T> top){
this.top = top;
}
public static void main(String []args){
Node<Integer> stackNode = new Node<Integer>(1);
Stack<Node<Integer>> myStack = new Stack<Node<Integer>>(stackNode);
}
}
в основном методе, я сначала инициализирую узел с именем stackNode с помощью Integer 1, это работает.
Затем я пытаюсь инициализировать мой стек с помощью stackNode в качестве верхнего узла. Это не работает, когда я компилирую, я получаю ошибку:
Stack.java:56: error: incompatible types: Node<Integer> cannot be converted to Node<Node<Integer>>
Stack<Node<Integer>> myStack = new Stack<Node<Integer>>(stackNode);
Note: Some messages have been simplified; recompile with
-Xdiags:verbose to get full output 1 error