java基礎之----非空判斷


        大家好,第一次寫博客,一直想寫博客,用於自我總結,也用於幫助新同學成長。

        平常我們開發的時候,用到很多非空判斷,但是很多同學用到的地方不是很准確,這里,我把自己平時遇到的坑跟大家說說。我廢話不多,只想寫干貨,希望大家喜歡。

       情景一:字符串的非空判斷“”

       對於字符串的判斷,比如字符串str,其實我們很多同學直接 str != null 去判斷,這樣是極其不准確的,因為str ==" "的時候,我們其實也想攔住,但的確  " "!= null,我們這行判斷就沒有限制住空字符串的情況。官方給到的是org.apache.commons.lang.StringUtils工具類,這個里面其實原理也是做了一層str != null,但是同時也判斷了該字符串的長度,所以即使str ==" "的時候,用了工具類去判斷,也會被校驗住。

       記住一句話,無論任何時候,對於字符串的判斷,用org.apache.commons.lang.StringUtils工具類去判斷就可以:非空判斷用StringUtils.isNotEmpty(str)或者StringUtils.isNotBlank(str);如果是判斷字符串為空,用StringUtils.isEmpty(str)或者StringUtils.isBlank(str);這樣能保證你判斷這一步不會出錯。

       情景二:數字的非空判斷

       我們對於數字判斷,不管是什么類型,一般只有封裝類型才可以去跟null比較,但是注意,盡量用equal去比較。等你體會到我為什么說用equal,你就知道我為什么這么說了。

       情景三:集合的非空判斷

       對於集合的非空判斷,我們很多情景是查詢出一個list,然后需要用到這個list,但是必須要進行非空判斷,這個時候,很多人還是用list !=null 去比較,其實會出問題的,比如如果你去這樣先定義一個集合List<String> list=new ArrayList<>(),這個list 並不是為null,所以你自己去判斷的時候如果還是用list !=null,顯然是攔不住,這個判斷沒起作用。

       對於集合的非空判斷,我們直接用CollectionUtils.isNotEmpty(list)或者CollectionUtils.isNotBlank(list)去判斷不會出錯,因為里面會對元素數量進行判斷。

       情景三:map的非空判斷

       同理,map的非空判斷,我們需要用map != null && map.size()>0去判斷,這個同理,我們創建一個map對象的時候,這個map不是null,但是里面如果沒有元素,我們對數量進行了判斷,才真正意義上做到了對map的非空校驗。

      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM