我的代碼有問題。我正在使用Oracle JDeveloper 12c,並且無法處理我的代碼。我有一個方法叫做去激活:我的活動代碼中的NullPointerException
public void deactivate() {
DeesconfViewImpl deak = getDeesconfView();
RowSetIterator rowSetIterator = deak.createRowSetIterator("New");
if (rowSetIterator != null) {
rowSetIterator.reset();
while (rowSetIterator.hasNext()) {
Row currentRow = rowSetIterator.next();
currentRow.setAttribute("Active", 0);
}
rowSetIterator.closeRowSetIterator();
}
}
其具有在管線中的問題: DeesconfViewImpl迪克= getDeesconfView();
他沒有看到getDeesconfView,JDeveloper中給了我一個提示插入方法
private DeesconfViewImpl getDeesconfView() {
return null;
}
和代碼編譯成功地,但我有NullPointerException異常在我的方法,這是應該將所有的行爲無效,而這一次我選擇爲活性:
public void activeYear() {
deactivate();
this.getCurrentRow().setAttribute("Active", 1);
}
我相信,這個問題是 DeesconfViewImpl迪克= getDeesconfView(); 但我不知道在這段代碼中會發生什麼。如果我刪除這一行,我有一個錯誤:
public class DeesconfViewImpl extends ViewObjectImpl implements DeesconfView {
private static DeesconfView getDeesconfView;
}
他沒有看到getDeesconfView。似乎他只是不使用它。
是的,我調試它,我發現已經哪一行導致此錯誤。
一旦你** Debug **,'NPE'可以很容易找到。所以你先嚐試一下嗎? –
哪條線路導致NPE? –
NPE有**正好**一個原因。堆棧跟蹤告訴你*確切地說*你的代碼的哪一行是問題。你需要調試你的代碼並找出爲什麼你有一個'null'引用。 –