我想要使一个LinkedSet对象类实现一个修改后的Set接口。当我尝试检查firstNode是否指向null时,我得到一个NullPointerException。我不确定如何解决这个问题。获取NullPointer实现LinkedSet
这是相关的代码。
构造整体设置对象
public class LinkedSet<T> implements Set<T> {
private Node firstNode;
public LinkedSet() {
firstNode = null;
} // end Constructor
方法是抱着我
public int getSize() {
int size = 1;
Node current = firstNode;
while ((current.next) != null) {
size++;
current = current.next;
}
return size;
} // end getSize()
的isEmpty()方法
public boolean isEmpty() {
Node next = firstNode.next; //Get error here
if (next.equals(null)) {
return true;
}
return false;
} // end isEmpty()
这里是节点的专用内部类对象
private class Node {
private T data;
private Node next; //Get Error here
private Node(T data, Node next) {
this.data = data;
this.next = next;
} // end Node constructor
private Node(T data) {
this(data, null);
}// end Node constructor
} // end Node inner Class
最后这里是主要的测试方法。
public class SetTester {
public static void main(String[] args) {
LinkedSet<String> set = new LinkedSet<String>();
System.out.println(set.getSize()); //Get error here
}
}
firstNode = NULL ;在你的构造函数抛出 –
除了其他建议:在'getSize()'我相信你应该初始化'size'为0并使用'current!= null'作为'while'条件。 –