string型別的字串的非空判斷還是經常會用到滴,但是前幾天用的過程中發現了乙個問題:假如有乙個字元差為str
if(str == null || str.equals("")) 或者 if("".equals(str) || str == null)
這樣判斷是沒有問題滴,但是我卻這樣寫了:
if(skipmark.equals("") || skipmark == null)
然後非空判斷就出問題了,後來聽同事簡單說了一下原因,可惜不是太理解 - -! 不過還是先記錄下,以後不能再犯這樣的錯咯。至於具體原因嘛,等哪天我自己弄明白了再補上,如果有人看到正好對此理解透徹的話,還請不吝賜教 ~~~
//2016-07-22
補充下:if(skipmark.equals("") || skipmark == null)這種情況,
如果你先判斷equals ,那麼如果前面的那個變數為null, 就會空指標。
上面的兩種剛好避免了空指標的情況,所以最好用另外兩種寫法,多謝網友指導
判斷字串String是否為空
1 str null 2 equals str 3 str.length 4 str.isempty 注意 length是屬性,一般集合類物件擁有的屬性,取得集合的大小。例如 陣列.length就是取得陣列的長度。length 是方法,一般字串類物件有該方法,也是取得字串長度。例如 字串.lengt...
String字串的非空判斷以及封裝工具類
需求 判斷字串不為 null,不為 並且不為 初級寫法 public static boolean isempty string str else 優雅寫法 刪除else public static boolean isempty string str return false 高階寫法 一行 解決...
非空判斷(物件 集合 字串)
集合非空判斷collectionutils.isempty collectionutils.isempty null true collectionutils.isempty new arraylist true 其他型別非空判斷objects.isnull objects.isnull 8 fal...