java ifpresent_java – 正确使用Optional.ifPresent()
我试图理解Java 8中的可选API的ifPresent()方法。
我有简单的逻辑:
Optional user=...
user.ifPresent(doSomethingWithUser(user.get()));
但是这会导致编译错误:
ifPresent(java.util.functionError:(186, 74) java: 'void' type not allowed here)
当然我可以这样做:
if(user.isPresent())
{
doSomethingWithUser(user.get());
}
但这完全像一个杂乱无章的检查。
如果我将代码更改为:
user.ifPresent(new Consumer() {
@Override public void accept(User user) {
doSomethingWithUser(user.get());
}
});
代码越来越脏,这让我想起了回到旧的null检查。
有任何想法吗?
java ifpresent_java – 正确使用Optional.ifPresent()相关推荐
- 【Java 8】教你用 Java 8中的 Optional 更优雅的判空
引言 在文章的开头,先说下NPE问题,NPE问题就是,我们在开发中经常碰到的NullPointerException.假设我们有两个类,他们的UML类图如下图所示 图片 在这种情况下,有如下代码 us ...
- java8 optional使用_[Java8]如何正确使用Optional
Optional是Java8提供的为了解决null安全问题的一个API.善用Optional可以使我们代码中很多繁琐.丑陋的设计变得十分优雅.这篇文章是建立在你对Optional的用法有一定了解的基础 ...
- Java 8特性之Optional详解
一.Optional类 简介 Optional类是 Java 8 引入的一个很有趣的特性.它主要解决的问题是臭名昭著的空指针异常(NullPointerException) Optional 类是一个 ...
- java 中覆 写tostring_如何在Java中正确覆盖toString()?
如何在Java中正确覆盖toString()? 听起来有点愚蠢,但我需要帮助我的toString()方法,这是非常irking. 我尝试在网上查找,因为toString是搞砸了,"没有找到K ...
- java v_java -v报错 java -version正确
如题:maven打包上传项目时报错 mvn deploy Error occurred during initialization of VM java/lang/NoClassDefFoundErr ...
- 学习 Java 的正确姿势
2019独角兽企业重金招聘Python工程师标准>>> 关于学习 Java 的正确姿势,以下几点是网上看到的,觉得和我的想法差不多,于是分享一下.可能和时下有些人的想法大相径庭,但是 ...
- 学java的正确方法_学习Java编程 这10个技巧不容错过--中享思途
这是一个国外大神20多年的经验总结出来的-- "任何可能出错的事情,最后都会出错." 这就是人们为什么喜欢进行"防错性程序设计"的原因.偏执的习惯有时很有意义, ...
- 【超全指南】Java 8 中使用 Optional 处理 null 对象
作者:超级小豆丁 http://www.mydlq.club/article/88/ 系统环境: Java JDK 版本:1.8 参考地址: Oracle JDK API 参考文档 https://d ...
- Java JDK8新特性Optional类
Optional类 1.该类java.util包下,是不能被继承的泛型类即:public final class Optional<T>. 2.该类有两个私有属性: T value和 静态 ...
最新文章
- OvS v.s. OvS-DPDK v.s. VPP
- bazel编译tensorflow 生成libtensorflow_inference.so 和 libandroid_tensorflow_inference_java.jar
- 秒杀系统设计的 5 个要点:前端三板斧+后端两条路!
- 微信抢红包应用要哭了,让我们来给微信红包设计一个新交互
- e2fsprogs制作嵌入式 mkfs.ext2 mkfs.ext3 mkfs.ext4
- NoSQL(2)之 Redis配置与优化
- Maven基础了解及配置信息
- junit 静态方法_预期异常规则和模拟静态方法– JUnit
- oracle11 rman全备,Oracle 11g非归档模式下mount状态RMAN究竟能不能进行全备?
- 高德地图画带箭头的线_模具装配图画成这样,那才真的叫标准!
- android开机自启动程序设置
- 飞鼠溪·狼(flying squirrel creek)-- BleedingWolves
- Excel连接MySQL数据库进行数据的可视化
- C++一本通在线测评网站 题目1224
- 20201216指数估值表
- python ffmpeg剪辑视频_FFmpeg精准时间切割视频文件
- Ceph分布式存储实战:从0搭建一个存储集群,并把块设备镜像映射到CentOS 7系统上的步骤
- rails 评论/回复插件 acts_as_commentable_with_threading
- 程序员吐槽培训班简历造假,经验包装竟拿到阿里外包26k的offer
- 小可爱怎么备份word自动图文集呢?