String判斷爲空的方式

今天遇到的筆試題:面試

//這樣的判空方式是否正確
if(!str.equals("")&&str!=null)

以前我一直都是這麼寫的,哪知道有什麼問題呀,而後面試官就教我了。spa

//若是str原本就爲空,這樣寫是會報錯的,連內存地址都沒有
!str.equals("")

會不會報錯我也沒注意過,可是這樣寫邏輯上也是有問題的,正確的寫法應該是先判斷不爲空了才能夠判斷不爲空字符串:code

if(str!=null){
    if(!str.equals("")){
    //~~~~  
  }
}
相關文章
相關標籤/搜索