我試圖尋找類似的問題,無濟於事。如果我將操作符從「!=」更改爲「==」,則會打印「{}」。另外,如果我只是打印出我正在測試的變量(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