今天遇到的筆試題:面試
//這樣的判空方式是否正確 if(!str.equals("")&&str!=null)
以前我一直都是這麼寫的,哪知道有什麼問題呀,而後面試官就教我了。spa
//若是str原本就爲空,這樣寫是會報錯的,連內存地址都沒有 !str.equals("")
會不會報錯我也沒注意過,可是這樣寫邏輯上也是有問題的,正確的寫法應該是先判斷不爲空了才能夠判斷不爲空字符串:code
if(str!=null){ if(!str.equals("")){ //~~~~ } }