我正在編寫一個程序,根據用戶在JList中選擇的內容在圖像上繪製不同的符號。這工作正常,但我的問題是,如果沒有在JList中選擇任何內容,我想要在圖像上放置一個符號。有沒有辦法檢查選擇是否爲空?這是我現在的代碼,如果我不從JList中選擇任何東西,它會拋出一個NullPointerException異常。如果Jlist中沒有選擇任何內容
if(categoriesList.getSelectedValue().equals("Bus")) {
BusSymbol bs = new BusSymbol(x, y);
mp.add(bs);
}
else if
(categoriesList.getSelectedValue().equals("Underground")) {
UndergroundSymbol us = new UndergroundSymbol(x,y);
mp.add(us);
}
else if (categoriesList.getSelectedValue().equals("Train")) {
TrainSymbol ts = new TrainSymbol(x,y);
mp.add(ts);
}
else if (categoriesList.getSelectedValue().equals(null)) {
NoCategorySymbol ncs = new NoCategorySymbol(x,y);
mp.add(ncs);
}
mp.validate();
mp.repaint();
這是因爲'null'沒有'.equals'方法。如果什麼東西可能爲空,你想用'== null'來檢查它(或者理想情況下用另一種方法;在那個API上沒有'hasSelectedValue()'方法嗎?) – Aaron