Optional处理null对象

Optional 简介

optional 是一个容器对象,可以存储对象、字符串、null等值。 提供了很多方法帮助我们将java中的对象等一些值存入其中,而且无需做显式的空值校验,用尽量少的代码完成复杂的流程,减少抛出空指针异常,减少null的判断,提高代码可读性等

提供了如下方法:

of() 方法,可以将值存入 Optional 容器中,如果存入的值是 null 则抛异常。

ofNullable() 方法,可以将值存入 Optional 容器中,即使值是 null 也不会抛异常。

get() 方法,可以获取容器中的值,如果值为 null 则抛出异常。

getElse() 方法,可以获取容器中的值,如果值为 null 则返回设置的默认值。

isPresent() 方法,该方法可以判断存入的值是否为空。

等等,更多方法可参考:

Oracle JDK API 参考文档:https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html

菜鸟教程-Java 8 Optional 类:https://www.runoob.com/java/java8-optional-class.html

图解optional的存取过程

常用方法:

long tagBits = Optional.ofNullable(this.tagBits).orElse(0L);

public boolean isDelisted(){

    return Optional.ofNullable(tagBits)

            .map(tagBits ->BitUtils.isTrue(tagBits, AssetTagConstants.DELISTED))

            .orElse(false);

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容