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。以后就用这个函数来判断即可。