黑马程序员技术交流社区

标题: 【石家庄校区】 [打印本页]

作者: yangzi    时间: 2019-9-10 15:30
标题: 【石家庄校区】

JDK1.8新特性值Optional

Optional的优点是:

1、提醒你非空判断。

2、将对象非空检测标准化。
在我们的开发中,NullPointerException可谓是随时随处可见,为了避免空指针异常,我们常常需要进行一
些防御式的检查,所以在代码中常常可见if(obj != null) 这样的判断。幸好在JDK1.8中,java为我们提供了
一个Optional类,Optional类能让我们省掉繁琐的非空的判断。下面先说一下Optional中为我们提供的方法

方法        描述
of        把指定的值封装为Optional对象,如果指定的值为null,则抛出NullPointerException
empty        创建一个空的Optional对象
ofNullable        把指定的值封装为Optional对象,如果指定的值为null,则创建一个空的Optional对象
get        如果创建的Optional中有值存在,则返回此值,否则抛出NoSuchElementException
orElse        如果创建的Optional中有值存在,则返回此值,否则返回一个默认值
orElseGet        如果创建的Optional中有值存在,则返回此值,否则返回一个由Supplier接口生成的值
orElseThrow        如果创建的Optional中有值存在,则返回此值,否则抛出一个由指定的Supplier接口生成的异常
filter        如果创建的Optional中的值满足filter中的条件,则返回包含该值的Optional对象,否则返回一个空的Optional对象
map        如果创建的Optional中的值存在,对该值执行提供的Function函数调用
flagMap        如果创建的Optional中的值存在,就对该值执行提供的Function函数调用,返回一个Optional类型的值,否则就返回一个空的Optional对象
isPresent        如果创建的Optional中的值存在,返回true,否则返回false
ifPresent        如果创建的Optional中的值存在,则执行该方法的调用,否则什么也不做




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2