java基础之----非空判断
Posted 努力的小卤蛋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础之----非空判断相关的知识,希望对你有一定的参考价值。
大家好,第一次写博客,一直想写博客,用于自我总结,也用于帮助新同学成长。
平常我们开发的时候,用到很多非空判断,但是很多同学用到的地方不是很准确,这里,我把自己平时遇到的坑跟大家说说。我废话不多,只想写干货,希望大家喜欢。
情景一:字符串的非空判断
对于字符串的判断,比如字符串str,其实我们很多同学直接 str != null 去判断,这样是极其不准确的,因为str ==" "的时候,我们这行判断就没有限制住,但是这个结果是我们想拦住的,然后并没有。官方给到的是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);这样能保证你判断这一步不会出错。
情景二:数字的非空判断
我们对于数字判断,不管是什么类型,short,long,int等等,其实都可以用不等于null去比较,这不会出什么问题。
情景三:集合的非空判断
对于集合的非空判断,我们很多情景是查询出一个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的非空校验。
以上是关于java基础之----非空判断的主要内容,如果未能解决你的问题,请参考以下文章