空指针异常(NullPointerException
),这个异常可能伴随着程序员的整个职业生涯。当然,作为程序员对这个异常往往也是司空见惯。为了避免程序中因为数据,代码或者种种原因抛出这个异常,我们时常需要对成员变量进行NULL值判断。
if(null == costRecord){
return new CostRecord();
}
return costRecord;
很简单的一串代码。null值判断完全没什么问题,那么我们可不可以让这几行代码优雅些呢?
if(!ObjectUtils.allNotNull(costRecord)){
return new CostRecord();
}
return costRecord;
当我们使用common.lang3包的ObjectUtils判断的时候优雅了些而且更严谨,那么我们能不能在严谨的同时让这段代码更简单明了一些呢?
Optional.ofNullable(costRecord).orElse(new CostRecord());
当然可以,我们使用Optional,JDK1.8新特性,不仅提供了对象NULL值判断,并且可以在判断的同时让你可以提供如果的解决方案。这样代码看着更加优雅了。
当然ObjectUtils和Optional还有很多实用的方法在我们开发过程中可以使用到,我只是举了一个简简单单大家开发过程中都经常出现的逻辑,并不是哪种方法更好,我只是觉得在我们开发中常常可以想有没有更加优雅的实现方式,JDK有没有提供更加简单的实现方式。用更加便捷的轮子,可以在我们实现业务的同时让代码看着更优雅一些,让别人阅读的时候也舒服的多。