我试图寻找类似的问题,无济于事。如果我将操作符从“!=”更改为“==”,则会打印“{}”。另外,如果我只是打印出我正在测试的变量(current.myData),那么它引用的Integer会按预期打印出来。但是,每次我测试“current.myData!= null”时,它都会抛出一个空指针异常并退出。任何帮助是极大的赞赏!Java通用对象空指针检查抛出空指针异常
public class LinkedQueue<E> implements QueueADT<E> {
@Override
public String toString() {
...
String exitVal = null;
final StringBuffer sb = new StringBuffer();
if (myFront.myData == null) {
exitVal = "{ }";
} else {
Node<E> current = myFront.myNext;
sb.append('{');
sb.append(myFront.myData);
while (current.myData != null) {
sb.append(", ");
sb.append(String.valueOf(current.myData));
current = current.myNext;
}
sb.append('}');
exitVal = sb.toString();
}
return exitVal;
}
难道不是仅仅意味着'current'是'null'? – MikeCAT