在Java中如何避免“!=null”式的判空语句?

KK夜枚厮


null:是一个空对象,不能进行任何操作除了=、==,这个问题我们从三个方面来分析。

一、基本数据类型上

我们来区分下以下三个的区别:

String s1 = null;// null是未分配堆内存空间

String s2;// 分配了内存空间,没存入任何对象

String s3 = "";// 分配了内存空间,存入了一个字符串对象,这种我们可以使用 object.equals(object)

注:当是""时,我们可以使用spring的方法 判断字符串是否为空:SpringUtils.isEmpty("xxx"),判断集合是否为空:CollectionUtils.isEmpty("xxx");

在Java中,默认在使用一个变量的时候必须赋予它初值(降低风险)。

二、集合类型

当返回是一个集合例如list的时候,如果查询的数据是空,我们返回一个空的集合而不是返回null,这样方法判断时候就可以用list.size()判断而不是 != null判断,养成良好的编码习惯。

三、方法调用上,我们使用声明多个方法,通过参数来判断。

欢迎大家关注我,后续会陆续的发布技术类文章。

以下为springcloud的文章,欢迎大家赏阅

https://m.toutiaocdn.cn/group/6667809327488696845/?iid=65758228937&app=news_article×tamp=1552544524&group_id=6667809327488696845


程序员遇见更好的自己


java8里有专门针对判空的方法了,Objects.isNull(obj),Objects.nonNull(obj)。

另外java8之前都是用各种Util工具包,比如common lang3等进行判断。

再一个,java8的Optional类,在返回任何有可能为空的值时尽量用Optional类来进行包装,返回Optional对象,调用者拿到的返回值是optional对象,optional提供一系列的方法来优雅的处理空、异常等情况。


一只好奇的Cat


使用  Java 8 的新特性 Optional 类型,具体可以看看官方文档


doubeCharli


guava中有针对null的优雅处理


编程之智


写个通用函数,判断是否为null。以后就用这个函数来判断即可。


分享到:


相關文章: