代碼片段:for (int i = 0; i < dvd.name.length; i++) {if (dvdName.equals(dvd.name[i]) && dvd.state[i] == 1) {dvd.state[i] = 0;// 標示借出System.out.println("借出《" + dvdName + "》成功!");dvd.date[i] = lendDate;break;} else if (dvdName.equals(dvd.name[i]) && dvd.state[i] == 0) {System.out.println("不能借出,《" + dvdName + "》已被借出!");break;} else if (!dvdName.equals(dvd.name[i]) && i == dvd.name.length - 1) {System.out.println("沒有找到此書!");break;}}上面那樣寫不會報錯,但是如果把equals()比較的兩個反過來就會空指針異常了,比如:dvd.name[i].equals(dvdName);不知道為什么會這樣,equals兩邊順序反了具體有什么區別?
請教一個關于equals()方法比較時候的一個問題?代碼如下!
一只名叫tom的貓
2021-05-15 15:07:22