您当前的位置: 首页 >  Java

杨林伟

暂无认证

  • 3浏览

    0关注

    3337博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java8 Optional详细解读

杨林伟 发布时间:2022-01-25 11:05:48 ,浏览量:3

文章目录
  • 01 概述
  • 02 Optional详细用法
    • 2.1 Optional下的方法
      • 2.1.1 ofNullable下的方法
        • 2.1.1.2 orElseThrow下的方法
    • 2.2 Optional完整实例
  • 03 文末

01 概述

Optional类主要是为了解决NPENullPointerException)空指针异常而产生的,在我看来它是 Java 实现函数式编程的一种很好的方式。

举个列子看看它的简单用法:

List list = Optional.ofNullable(orderList)
            .orElseThrow(() -> new RuntimeException("集合不能为空"))
            .stream()
            .sorted(Comparator.comparing(order -> order.getSort()))
            .collect(Collectors.toList());

下面来详细讲解它的用法。

02 Optional详细用法

首先建一个学生Student实体类:

@Data
public class Student {

    /**姓名**/
    private String name;

    /**年龄**/
    private Integer age;

    public Student(String name, Integer age) {
        this.name = name;
        this.age = age;
    }
}

初始化学生信息:

List studentList = new ArrayList();
studentList.add(new Student("张三", 33));
studentList.add(new Student("李四", 40));
studentList.add(new Student("王五", 23));
studentList.add(new Student("赵六", 55));
studentList.add(new Student("陆七", 32));
studentList.add(new Student("王八", 18));

ok,现在可以正式讲解Optional的用法了。

2.1 Optional下的方法

可以看到,Optional根据提示有三个初始化方法,分别是“ofNullable”、“of”、“empty”: 在这里插入图片描述 它们的含义如下:

方法描述of(T value)如果valuenull,那么会抛出空指针异常ofNullable(T value)如果valuenull,那么就会手动创建一个new Optional()empty()此方法返回此Optional类的空实例,就是不包含任何值

可以看到以上的三个方法都是初始化Optional实例而产生的,那么接下来以ofNullable(T value)方法为例子继续讲解。

2.1.1 ofNullable下的方法

可以看到使用ofNullable方法初始化完Optional实例后,有很多的方法,如下图: 在这里插入图片描述 它们的含义如下:

方法秒速orElse(T other)当只存在时返回值,不存在返回other(可以理解为自定义值,如字符串的内容)orElseGet(Supplier
关注
打赏
1662376985
查看更多评论
立即登录/注册

微信扫码登录

0.1007s