专业的编程技术博客社区

网站首页 > 博客文章 正文

java.util.Optional最常用的写法(java.util.formatter)

baijin 2024-10-09 07:54:50 博客文章 8 ℃ 0 评论

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);

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表