@Test
public void test2(){
Girl girl = new Girl();
// girl = null;
//ofNullable(T t):t可以为null
Optional<Girl> optionalGirl = Optional.ofNullable(girl);
System.out.println(optionalGirl);
//orElse(T t1):如果单前的Optional内部封装的t是非空的,则返回内部的t.
//如果内部的t是空的,则返回orElse()方法中的参数t1.
Girl girl1 = optionalGirl.orElse(new Girl("赵丽颖"));
System.out.println(girl1); } @Test
public void test4(){
Boy boy = new Boy();
boy = null;
String girlName = getGirlName1(boy);
System.out.println(girlName); } //使用Optional类的getGirlName():
public String getGirlName2(Boy boy){ Optional<Boy> boyOptional = Optional.ofNullable(boy);
//此时的boy1一定非空
Boy boy1 = boyOptional.orElse(new Boy(new Girl("迪丽热巴"))); Girl girl = boy1.getGirl(); Optional<Girl> girlOptional = Optional.ofNullable(girl);
//girl1一定非空
Girl girl1 = girlOptional.orElse(new Girl("古力娜扎")); return girl1.getName();
}

最新文章

  1. MSSQLSERVER添加c# clr程序集的使用方法
  2. 深入分析PHP优化及注意事项
  3. maven中使用junit老是找不到包
  4. BZOJ3685: 普通van Emde Boas树
  5. 个人练习--gif图流程
  6. C#图解教程读书笔记(第1章 C#和.net框架)
  7. IOS公司开发者账号申请详细教程--1 备用
  8. 让乔布斯立足肩上的C语言之父
  9. 点击推送消息跳转处理(iOS)
  10. LeetCode OJ 41. First Missing Positive
  11. 51nod_1040:最大公约数之和(数论)
  12. 2018java平均工资,想转行学java的快点上车
  13. POJ-1753 Flip Game---二进制枚举子集
  14. Linux下MySql的登陆和管理操作
  15. XMPP技术之Smack库的自定义消息扩展
  16. 第04篇 JDK版本导致Unsupported major.minor version 52.0 error
  17. 【转】Java并发编程:Thread类的使用
  18. python基础 (编码进阶,文件操作和深浅copy)
  19. Java类、属性、方法、构造方法、块、内部类的基本概念
  20. Axure快速原型教程02--创建页面和设置界面

热门文章

  1. DFA算法之内容敏感词过滤
  2. 记一次Linux Centos7病毒清理
  3. C++ atomic 和 memory ordering 笔记
  4. jQuery与JavaScript与Ajax三者的区别与联系
  5. [STL] set 集合
  6. PHP反序列化链分析
  7. C# Thread.Sleep 不精准的问题以及解决方案
  8. Python 散列表查询_进入&lt;哈希函数&gt;为结界的世界
  9. Java学习笔记-基础语法Ⅳ
  10. 三、单redis升级redis集群+哨兵