网站首页 > 博客文章 正文
1、引入背景
为了解决空指针异常(NPE NullPointerException),比如我们封装一个Service方法,返回User对象,那么我们为了避免返回null给调用端,这个时候就可以封装到Optional对象中
2、本质
它仅仅是一个容器(外壳)
3、常用方法
4、从Java 6 到 Java 8 空指针写法进阶
4.1 Java 6 传统写法
String str = ...
if(null != str) {
...
}
4.2 Java 8 进阶写法
Optional<String> optional = Optional.of(str);
if(optional.isPresent()) {
optional.get(); // 值不能为null否则会抛异常,所以最好不要单独调用get()
}
4.3 Java 8 终极写法
String str = "hello";
Optional<String> optional = Optional.of(str);
optional.ifPresent(s-> System.out.println(s)); //方法内部会判空
Optional<Clazz> clazzOptional = Optional.ofNullable(clazz); // 如果班级中的学生List为null,此处会返回一个[]空集合。经典写法
List<Student> studentList = clazzOptional.map(theClazz -> theClazz.getStudentList()).orElse(Collections.emptyList());
5、提问:你有用过Optional的map方法吗
public<U> Optional<U> map(Function<? super T, ? extends U> mapper);
猜你喜欢
- 2024-10-09 java.util.Optional学习笔记(java.util.collection)
- 2024-10-09 如何使用Java8 Optional防止空指针异常?开发者:咋不早告诉我呢
- 2024-10-09 Java8新特性-Stream流&Optional类
- 2024-10-09 Java 8 开始新增的 Optional 类 - 创建 Optional 对象
- 2024-10-09 「Java 8」巧用Optional之优雅规避NPE问题
- 2024-10-09 优雅地解决空指针异常问题:Java8新特性之Optional
- 2024-10-09 JDK8中新增的Optional工具类真的很好用哦,建议收藏
- 2024-10-09 还在重复写空指针检查代码?考虑使用 Optional 吧
- 2024-10-09 Java 8 开始新增的 Optional 类 - Optional 对象中的返回
- 2024-10-09 软件开发 | Java8超实用新特性之——Optional解决空指针问题
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)