-1
我正在用Java寫一個鏈表。以下是代碼:將內部類對象作爲函數參數傳遞
public class FunctionalList<T> {
class Node {
private T data;
private Node next;
//constructor
public Node(T data, Node next)
{
this.data = data;
this.next = next;
}
}
private Node head;
/**
* default constructor, create an empty list
*/
public FunctionalList() {
head = null;
}
public FunctionalList<T> add(T element) {
FunctionalList<T> newList = new FunctionalList<T>();
add_aux(newList.head, element);
return newList;
}
private void add_aux(Node node, T element)
{
if (node == null)
{
Node newNode = new Node(element, null);
node = newNode;
}
else if (node.next != null) // go to the end of the list
{
add_aux(node.next, element);
}
else
{
Node newNode = new Node(element, null); // create new node
node.next = newNode; //add the element to the list
}
}
}
我以遞歸的方式實現了add方法。當我嘗試添加一個元素到列表中時,我失敗了。我跟蹤了add_aux(newList.head,element)之後的問題 - newList.head仍然爲空。
我想你會得到一個NullPointerException,你引用newList.head,因爲它從來沒有初始化。 –
問題應該包括具體的錯誤和代碼來重現它。 –