经常写java,不知道有没有留意到json对象或者map对象中当get方法没有对应的key时会做出什么反应,返回null,亦或是返回空串,还是抛出异常呢。下面我们试验一下。
在main方法中写了下面几行代码:
下面是输出结果:
这里使用了HashMap和阿里巴巴的fastjson作为测试对象,从结果可以看出,当map或者json对象get方法中没有对应的key时,是不会抛出异常的,而是返回了一个null值。所以当在确保对象存在的前提下使用get方法时, 如果不能保证该key一定存在,记得不需要catch,而是进行null判断!!
上面的测试方法是外在的判断方法,其实我们通过内在,点进去看map这个类,就会发现源码里当不存在该key时返回的就是null值.
而fastjson内部是基于map实现的.
所以,fastjson对象中当get方法的key不存在时的处理方式使用的就是map中的处理方式,就是返回null.
本文暂时没有评论,来添加一个吧(●'◡'●)