JAVA String字串判空

2021-09-05 09:35:25 字數 699 閱讀 2220

正確的寫法:

"".equals(str) 或

str == null || str.equals("")

str == null || str.isempty()
錯誤的寫法:

str.equals("")
原因:

null不是物件,null沒有分配記憶體空間

null表示這個字串不指向任何的東西,那麼沒有是否為空的問題,因為引用的例項物件都沒有。這時候如果你呼叫它的方法,那麼就會出現空指標異常。

直觀一點:null是.不出來equals這個方法的。

延伸:string 的 equals 方法效能大於直接比較 length

public int length()
這個value是個char陣列;

而equals方法 先判斷物件指向位址,在判斷是否string型別,最後迴圈比對char每個字元

所以推薦使用jdk1.6 出來的isempty方法;

字串判空惹的禍

在乙個專案中,需要用到replaceall 方法把字串中的 t 和 空格給刪掉,然後判斷替換後的字串是否為空,在進行之後的操作。然而,在判斷時,出現了乙個問題 斷點檢視字串確實為空,但就是不進入if裡面,單獨測試 如下 public static void main string args else...

java string 字串替換

replace方法 該方法的作用是替換字串中所有指定的字元,然後生成乙個新的字串。經過該方法呼叫以後,原來的字串不發生改變。例如 string s abcat string s1 s.replace a 1 該 的作用是將字串s中所有的字元a替換成字元1,生成的新字串s1的值是 1bc1t 而字串s...

java String字串替換

i replace方法 該方法的作用是替換字串中所有指定的字元,然後生成乙個新的字串。經過該方法呼叫以後,原來的字串不發生改變。例如 string s abcat string s1 s.replace a 1 該 的作用是將字串s中所有的字元a替換成字元1,生成的新字串s1的值是 1bc1t 而字...