A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yangzi 初级黑马   /  2019-9-10 15:30  /  900 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


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中的值存在,则执行该方法的调用,否则什么也不做

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马