Я пытаюсь понять, как вывести все версии узла "latest" с помощью метода toString, но я не понимаю, как заставить while l oop работать правильно в этом случае. Мне было интересно, есть ли способ go для этого.
Вот метод toString()
:
public String toString() {
String output = "key: " + key ;
Node<VersionedObject> currNode = latest;
while (latest != null){
output += latest+ "\n\t";
latest.setNext(latest);
} // This isn't particularly working
//return "key: " + key +"\n\t" +latest + "\n\t" + latest.getNext(); // placeholder but it's getting closer. This one is INSANELY specific
return output;
}
, вот метод, который создает список:
public StackOfVersionedObjects(String key, final Object object) {
this.key = key;
VersionedObject vrObject = new VersionedObject(object);
latest = new Node<VersionedObject>(vrObject);
}
, а вот мой класс ноды:
public class Node<T> {
private T data;
private Node next;
public Node() {
data = null;
next = null;
}
public Node(T data) {
this.data = data;
next = null;
}
public T getData() {
return data;
}
public Node<T> getNext() {
return next;
}
public void setData(T data) {
this.data = data;
}
public void setNext(Node<T> next) {
this.next = next;
}
@Override
public String toString() {
return data.toString();
}
}