为了避免null检查,JDK8提供了Optional类,这是一个可以为null的容器对象,被设计为方法返回值,用来规避NullPointerException问题,所以不要将它作为方法参数。 一、Optional对象的创建 1.1 Optional.of(T value) 创建一个Optional对象,参数不能为null,否则,抛出NullPointerException异常。 1.2 Optional.empty() 创建一个空...
Optional是一个没有子类的工具类,Optional是一个可以为null的容器对象,它的主要作用就是为了避免Null检查,防止NullpointerException, 3. Optional的基本使用 Optional对象的创建方式 代码语言:javascript 复制 /** * Optional对象的创建方式 */ @Test public void test02(){ // 第一种方式 通过of方法 of方法是不...
orElseGet(Supplier<T> other):如果optional不为空,则返回optional中的对象;如果为null,则使用Supplier函数生成默认值other orElseThrow(Supplier<X> exception):如果optional不为空,则返回optional中的对象;如果为null,则抛出Supplier函数生成的异常 4. 过滤: filter(Predicate<T> p):如果optional不为空,则执行断言...
Optional<Integer>optional1=Optional.ofNullable(1);Optional<Integer>optional2=Optional.ofNullable(null);// 如果不是null,调用Consumeroptional1.ifPresent(value->System.out.println("value is "+value));// null,不调用Consumeroptional2.ifPresent(value->System.out.println("value is "+value)); 1. 2. ...
Optional类的使用 JDK8以前,编写代码,通常会出现 NullPointerException (空指针异常),通常情况下我们都是通过 if ... else... 来对对象进行为空判断,然后再进行逻辑处理,代码写起来也比较冗余。 JDK8新增了Optional类,使用该类可以避免我们对空指针的检查,使代码看起来比较优雅。
使用Optional类 String city = Optional.ofNullable(userInfo) .map(User::getAddress) .map(Address::getCity) .orElseThrow(() -> new IllegalStateException("user or Address is null")); 1. 2. 3. 4. 5. 可能第一眼看那个Optional优化后的代码有点生疏。多用用就会觉得很nice!
一Optional 简介: javadoc: A container object which may or may not contain a non-null value. If a value is present, isPresent() will return true and get() will return the value. Optional类的出现是为了减少java中重复繁杂的判空操作,它借鉴google guava类库的Optional类。
1、创建Optional类 public void test1() { // 声明一个空Optional Optionalempty = Optional.empty(); // 依据一个非空值创建Optional Student student = new Student(); Optionalos1 = Optional.of(student); // 可接受null的Optional Student student1 = null; ...
optional类是一种表示一个值可能存在或不存在的对象。这种类在可以为空的情况下非常有用,因为我们可以使用optional类来明确表示如何处理这种情况。 下面是一些使用optional类的技巧,可以帮助你更好地利用这个类: 1. 将可空的值变成可选的值 对于任何可能为空的值,都可以使用optional类来将它转换为一个可选的值。这...
/** * Optional测试类 */ public class OptionalTest { @Test public void test() { //创建空的Optional对象 Optional.empty(); //使用非null值创建Optional对象,不能传入null,负责会报错 //Optional.of(null); Optional.of("123"); //使用任意值创建Optional对象 Optional<Object> nullable = Optional.ofNu...