我有一个doubleLinkedList,需要实现一个没有参数的递归toString()方法。这是我所拥有的,它会抛出一个NullPointerException
//Print forwards
public String recursiveToString(){
return first.rTS();
}
//Print backwards
public String recursiveBackwardsString(){
return last.rBS();
}
//Recursive helper in the node class
public String rBS(){
if (this!=null)
return info+" "+back.rBS();
return "";
}
//Recursive helper in the node class
public String rTS(){
if (this!=null)
return info+" "+next.rTS();
return "";
}
答案 0 :(得分:1)
this
在任何代码中都不会null
,如果调用null
中的某个方法,则在到达方法体之前抛出NullPointerException,因此,这里对null
的保护不正确:
if (this != null)
return ...
你应该这样写:
public String rBS(){
if (back != null)
return info+" "+back.rBS();
return info;
}
与rTS
相同。