public static void testIfPresent() {
Map<String, Map<String, String>> map = new HashMap<>(); String firstKey = "hjz", secondKey = "lxk"; Map<String, String> childMap = new HashMap<>();
childMap.put("lxk", "sbj"); map.put("hjz", childMap); ifPresent(map, firstKey, secondKey, System.out::print);
} public static void ifPresent(Map<String, Map<String, String>> map, String firstKey, String secondKey, Consumer<String> consumer) {
ofNullable(map.get(firstKey)).ifPresent(childMap -> ofNullable(childMap.get(secondKey)).ifPresent(consumer));
}

不要再用if(xxx != null)或者try catch NullPointerException了,Optional可以帮你解决的更多相关文章

  1. xxx==null和xxx.equals(null)的区别

    如果xxx不是null的话,xxx==null将返回false,如果xxx是null的话,xxx将返回ture 而对xxx.equals(null)而言,他将永远返回false,因为如果xxx不是nu ...

  2. null!= xxx 和 xxx!=null有什么区别?

    从意义上将没有区别,从编程规范上讲,第一种写法是为了防止写成:null = xxx

  3. BUG Review:关于getting 'android:xxx' attribute: attribute is not a string value的问题及解决方法

    我们在使用Android Studio开发完应用程序后,都要将打好的apk安装包上传到各大应用市场,但是有时候上传时应用市场会出现提交的安装包不能通过应用市场的aapt解析而被打回的情况. 他们使用a ...

  4. android( java) 处理 null 和 预防空指针异常(NullPointerException) 的一些经验。

    概述: 在实际编码中总是会遇到 空指针异常 ,本文总结了一些处理空指针的个人经验. 原则: 尽早的检查,尽早的失败. 比如: 通过intent传参到新的目标 activity,而且一定需要这个参数,那 ...

  5. 无法打开物理文件 XXX.mdf"。操作系统错误 5:"5(拒绝访问。)"的解决办法

    附加数据库时报错: 无法打开物理文件 XXX.mdf".操作系统错误 5:"5(拒绝访问.)" 原因是数据库权限无法读取路径下的文件. 解决方案 一: 数据库使用wind ...

  6. Mysql错误处理: /usr/bin/mysqld_safe: line xxx: xxxx Killed ... (mysql自动停止 Plugin FEDERATED is disabled 的完美解决方法)

    哈哈哈,问题总算解决,内心抑不住的开心 centos mysql 问题:Plugin 'FEDERATED' is disabled. /usr/sbin/mysqld: Table 'mysql.p ...

  7. 程序挂了之后别再跟我说让我帮你重启啦! 让supervisor帮你搞定...

    目录 有啥用? 安装 生成配置文件 启动supervisor 自定义配置文件 控制命令 求关注啦 有啥用? 很多我们项目排期进入联调.测试阶段,如果QA同学是直接跟你要一个后端环境的话,那简单点大概率 ...

  8. win10安装git fatal: open /dev/null or dup failed: No such file or directory错误解决方法

    原因看大家意思应该是 非即插即用驱动文件null.sys问题. 网上有很多方案.最后试了一个可行的. 替换  windows/system32/drivers/null.sys为网盘中的文件即可. 链 ...

  9. message from server: "Host 'xxx' is not allowed to connect to this MySQL server的解决

    解决方法:    1. 改表法.    可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" ...

随机推荐

  1. WPS 表格筛选两列相同数据-完美-2017年11月1日更新

    应用: 1.选出A列中的数据是否在B列中出现过: 2.筛选出某一批序号在一个表格里面的位置(整批找出) 3.其实还有其他很多应用,难描述出来... ... A列中有几百的名字,本人想帅选出B列中的名字 ...

  2. 【转】PyDev Eclipse使用技巧说明

    PyDev Package Explorer 创建项目 在开展工作之前,需要创建一个新的项目.在 Eclipse 菜单栏中,选择 File > New > Project > Pyd ...

  3. SIFT feature

    转载:http://www.cnblogs.com/wangguchangqing/p/4853263.html 1.SIFT概述 SIFT的全称是Scale Invariant Feature Tr ...

  4. malloc()函数(Linux程序员手册)及函数的正确使用【转】

    转自:https://blog.csdn.net/david_xtd/article/details/7311204 名称 malloc,free,calloc,realloc--分配和释放动态内存 ...

  5. 【.net】获取网页CDM的下载链接的地址

    using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServi ...

  6. swoole 安装方法

    http://www.cnblogs.com/tudou1223/p/4530280.html 最近想用PHP写一个聊天网站,于是注意到了swoole这个扩展,看上它就是因为事件驱动异步非阻塞. Sw ...

  7. Python-bootstrap

    1 引入 如果想要用到BootStrap提供的js插件,那么还需要引入jQuery框架,因为BootStrap提供的js插件是依赖于jQuery的 <link type="text/c ...

  8. viewpager显示图片的Adapter

    package com.ming.chiye.yishanghorse.Adapter; import android.content.Context; import android.graphics ...

  9. mysql5.7安装教程图解

    启动安装包: 左边是你电脑上可以连接到mysql的软件,比如Visual Studio,Eclipse,PyCharm等,中间是需求的版本或者额外组件,右边是状态. 选择一个选项,然后点击下面的che ...

  10. Java内存泄漏问题

    1:java中垃圾回收机制主要完成下面两件事情: 跟踪并监控每个java对象,当某个对象处于不可达状态时,回收该对象所占的内存 清理内存分配,回收过程中产生的内存碎片 2:对于JVM的垃圾回收机制来说 ...