java8-Optional
Optional 容器类:用于尽量避免空指针异常
* Optional.of(T t) : 创建一个 Optional 实例
* Optional.empty() : 创建一个空的 Optional 实例
* Optional.ofNullable(T t):若 t 不为 null,创建 Optional 实例,否则创建空实例
* isPresent() : 判断是否包含值
* orElse(T t) : 如果调用对象包含值,返回该值,否则返回t
* orElseGet(Supplier s) :如果调用对象包含值,返回该值,否则返回 s 获取的值
* map(Function f): 如果有值对其处理,并返回处理后的Optional,否则返回 Optional.empty()
* flatMap(Function mapper):与 map 类似,要求返回值必须是Optional
Optional.of(T t) : 创建一个 Optional 实例
Optional<Employee> op = Optional.of(new Employee()); Employee emp = op.get();
Optional.empty() : 创建一个空的 Optional 实例
Optional<Employee> op = Optional.empty();
Optional.ofNullable(T t):若 t 不为 null,创建 Optional 实例,否则创建空实例
Optional<Employee> op = Optional.ofNullable(null);
isPresent() : 判断是否包含值
Optional<Employee> op = Optional.ofNullable(new Employee());if(op.isPresent()){System.out.println(op.get());}
orElse(T t) : 如果调用对象包含值,返回该值,否则返回t
Employee emp = op.orElse(new Employee("张三"));System.out.println(emp);
orElseGet(Supplier s) :如果调用对象包含值,返回该值,否则返回 s 获取的值
Employee emp2 = op.orElseGet(() -> new Employee());System.out.println(emp2);
map(Function f): 如果有值对其处理,并返回处理后的Optional,否则返回 Optional.empty()
Optional<Employee> op = Optional.of(new Employee(101, "张三", 18, 9999.99));Optional<String> op2 = op.map(Employee::getName);System.out.println(op2.get());
flatMap(Function mapper):与 map 类似,要求返回值必须是Optional
Optional<String> op3 = op.flatMap((e) -> Optional.of(e.getName()));System.out.println(op3.get());
转载于:https://www.cnblogs.com/chenglc/p/8124230.html
java8-Optional相关推荐
- JAVA8 Optional新特性和使用详解
文章目录 一.Optional简介 二.应用Optional 1.创建Optional对象 2.Optional中map用法 3.Optional其它方法用法 三.Optional实战 1.创建Opt ...
- java8 optional使用_[Java8]如何正确使用Optional
Optional是Java8提供的为了解决null安全问题的一个API.善用Optional可以使我们代码中很多繁琐.丑陋的设计变得十分优雅.这篇文章是建立在你对Optional的用法有一定了解的基础 ...
- Java8 Optional剖析
Optional存在的意义 在java8出现之前,通常在调用一个对象的方法的时候,难免会判断对象是否为Null,只有不为null才敢去调用对象的方法,这是一种安全措施,如果不注重这个null的情况,会 ...
- 聊一聊Java8 Optional,让你的代码更加优雅
Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...
- Java8 Optional解决NPE问题
比如现在有两个类 User 和 Address public class User {private String name;private String phone;private Address ...
- java8 - Optional容器
Optional容器作用:在开发过程中经常存在if(a == null){} 这种判断,若不进行判断就会出现空指针异常的情况,java8的Optional容器出现,是我们不在需要判断是否为空,提高代码 ...
- Java8 Optional类用法
文章目录 API介绍 第一组 Optional(T value) empty() of(T value) ofNullable(T value) 第二组 orElse(T other),orElseG ...
- Java8 Optional,可以这样用啊
以下文章来源方志朋的博客,回复"666"获面试宝典 很多公众号其实都发过 Optional 的文章, 但大多文章都是介绍了 Optional 的 API 用法,却没有给出怎么正确的 ...
- Java8 Optional 最佳实践
作者 | ES_her0 来源 | https://xie.infoq.cn/article/e3d1f0f4f095397c44812a5be 很多公众号其实都发过 Optional 的文章, 但大 ...
- 新容器!不再担心空指针, Java8 Optional类
Optional<T>类(java.util.Optional)是一个容器类,它可以保存类型T的值,代表这个值存在.或者仅仅保存null,表示这个值不存在.原来用 null 表示一个值不存 ...
最新文章
- Case When 解决简单的是与否
- Win8 Metro(C#)数字图像处理--2.69中点滤波器
- 接口请求,上传byte数组byte[]数据异常,负数变正数/负数变63
- Android笔记之ViewPager实现滑动页面
- WRF-Chem User Guide3.9.1.1 部分内容翻译
- sudo apt-get update后public key is not available公钥不存在问题解决
- Javascript中“==”与“===”的区别
- Apache FTPClient操作文件上传下载及公共类
- 【数学】奶牛编号(jzoj 2932)
- Python--day26--复习
- 喜大普奔!Django官方文档终于出中文版了
- html与css结合动效案例,写CSS动效的常用套路(附demo的效果实现与源码)
- unity改变物体轴心
- java 强制转换double_JAVA强制类型转换
- 计算机主板电杆,电脑主板cpu供电上下管怎样区分替换
- educoder 1-1Python 计算思维训练——公式编程
- 那些年 用过的经典App
- ubuntu16.04使用360随身wifi2代
- 河北科技师范学院对口计算机分数线,河北科技师范学院对口分数线
- 用sk-learn实现新闻的分类预测(完整代码)
热门文章
- Thinkphp3.2 中使用find_in_set
- 荷兰帝斯曼收购初创科技公司尚善 无氟光伏背板被指有利回收再利用
- 精益 React 学习指南 (Lean React)- 4.1 react 代码规范
- 清空 visual studio 查找和替换的历史记录
- 【成功不是等来的】生意不好问人不如问己!谈真实经验!
- Symfony1.4.11学习笔记(四):数据模型
- 东方智慧和西方智慧的比较
- fastdfs删除过期文件_Spring Boot 系列:使用 Spring Boot 集成 FastDFS
- mysql 数据类_MySQL数据类型
- linux安装mysql要先装jdk吗_linux安装mysql5.7.22,tomcat,jdk