Optional类有三个主要的静态方法来创建Optional对象:of、ofNullable和empty。 2. ofNullable方法简介 ofNullable方法可以接收一个参数,并返回一个Optional对象。如果参数的值为空,则返回一个空的Optional对象。否则,将参数的值包装在Optional对象中并返回。 3. ifPresent方法简介 ifPresent是Optional类中的一个方法,它接收...
首先,使用 Optional.ofNullable 创建一个 Optional 对象。就像打开一个精美的礼盒,你需要先看看里面到底有没有惊喜等待着你。2.判断值的存在 接下来,利用 isPresent 或 ifPresent 方法,判断这个神奇的容器中是否藏着宝贝。想象一下,你在找寻一块隐藏的宝石,成功找到时,心中无比雀跃;而如果没有找到,也别灰心...
下面是ofNullable与ifPresent的代码搭配: import java.util.Optional; public class OptionalExample { public static void main(String[] args) { // 创建一个包含非空值的 Optional 对象 Optional<String> nonNullOptional = Optional.ofNullable("Hello, World!"); // 使用 ifPresent 执行操作(在值存在的情况下)...
1Optional<Integer> optional1 = Optional.ofNullable(1);2Optional<Integer> optional2 = Optional.ofNullable(null);34//如果不是null,调用Consumer5optional1.ifPresent(newConsumer<Integer>() {6@Override7publicvoidaccept(Integer t) {8System.out.println("value is " +t);9}10});1112//null,不调用Cons...
Optional.of(T t) : 创建一个 Optional 实例,t必须非空;Optional.empty() : 创建一个空的 Optional 实例Optional.ofNullable(T t):t可以为null 判断Optional容器中是否包含对象:boolean isPresent() : 判断是否包含对象void ifPresent(Consumer<? super T> consumer) :如果有值,就执行Consumer接口的实现代码...
Optional<User> user = Optional.ofNullable(getUserById(id)); user.ifPresent(u -> System.out.println("Username is: "+ u.getUsername())); 2.orElse publicTorElse(T other){returnvalue !=null? value : other; } 如果Optional 中有值则将其返回,否则返回 orElse 方法传入的参数。
optional.ofNullable()是Optional类的一个工厂方法,它接受一个可能为空的值作为参数,并返回一个Optional对象。如果该值为非空,则该Optional对象将包含该值,否则将为空。 接下来,让我们了解optional.ifPresent()方法。optional.ifPresent()是Optional类的另一个有用的方法,它接受一个Consumer函数作为参数。如果Optional...
isPresent用来判断值是否为空,类似于obj != null,ifPresent可以传入一个Consumer操作,当值不为空的时候,会执行Consumer函数。比如:final Optional<List<Student>> nullValue = Optional.ofNullable(nullStudents);if (nullValue.isPresent()) { System.out.println("value: " + nullValue.get());} 上面的...
使用ofNullable方法,当传入null时,也会使用empty方法返回一个空的Optional方法,所以推荐使用ofNullable方法而不是empty方法,这样省的我们再判断对象是否为空了,ofNullable已经帮我们做了判空操作。 2.2. 安全的消费值 我们获取到一个Optional对象后肯定需要对其中的数据进行使用,这个时候我们可以使用ifPresent方法来消费其中的...