全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

Java ifPresent 方法

发布时间:2023-11-25 09:06:59
发布人:xqq

Java ifPresent 方法是 Java 8 新添加的一个方法,用于检查一个 Optional 对象是否包含了非 null 的值。在进行一些操作之前,你需要确定这个 Optional 对象确实包含值。如果包含值,就可以用 ifPresent 方法来对值进行一些操作。下面将详细介绍这个方法的用法,以及适合的场景。

一、常见用途

一般来说,当使用 Optional 类型时,我们会编写一些辅助类来进行检查并进行操作。但是,如果尝试直接在 Optional 对象上进行操作,可能会导致类型不匹配或者 NPE 等问题。

ifPresent() 方法就能够解决这类问题。它能够充分利用 lambda 表达式的特性,通过 Optional 对象进行操作。

二、代码示例

下面是一个简单的示例,用于展示 ifPresent() 方法的用法。



import java.util.Optional;

public class Main {
    public static void main(String[] args) {
        Optional fullName = Optional.ofNullable(null);
        System.out.println("Full Name is set? : "+fullName.isPresent());

        System.out.println("Full Name: "+fullName.orElseGet(()-> "[none]"));

        fullName.ifPresent(System.out::println);
    }
}

运行结果如下:



Full Name is set? : false
Full Name: [none]

输出结果中,我们可以看到 ifPresent() 只有当前 Optional 对象非 null 的时候才会进行操作。

三、ifPresent 方法的参数

ifPresent() 方法的参数是一个函数接口,这个函数最多接受一个参数,返回值类型是void。

如果调用 ifPresent() 方法时,Optional 对象包含非 null 的值,那么这个函数接口中的方法就会被调用。具体来说,这个 函数接口 会将 Optional 对象中的值作为参数传递给这个函数。

如果 Optional 对象中的值是一个对象,而函数接口需要一个基本类型,那么 Optional 对象自动的使用了装箱机制,将其装箱为一个对象。

四、小结

总之,ifPresent() 方法是 Java 中多重值作为 API 的一部分,有助于使代码更加规范和易于维护。如果在开发过程中遇到 Optional 对象的操作问题,使用 ifPresent 可随时判断 Optional 对象是否有值,避免出现 NPE 异常。

然而,由于 Optional 没有提供公共接口,如果对于 ifPresent() 方法并不熟悉,可能会给你带来一些困惑。因此,在使用 Optional 相关 API 的过程中,一定要加强对这些函数的掌握,帮助你更好地了解代码。

javaifpresent

相关文章

深入探究torch.softmax

深入探究torch.softmax

2023-11-25
STM32G070RBT6详细介绍

STM32G070RBT6详细介绍

2023-11-25
linux安装过程分区,linux 安装 分区

linux安装过程分区,linux 安装 分区

2023-11-25
Openresty漏洞利用用法介绍

Openresty漏洞利用用法介绍

2023-11-25

最新文章

武汉新媒体行业公司排名

武汉新媒体行业公司排名

2023-11-01
武汉新媒体就业现状好吗

武汉新媒体就业现状好吗

2023-11-01
武汉全媒体行业发展现状及趋势

武汉全媒体行业发展现状及趋势

2023-10-31
武汉全媒体现状

武汉全媒体现状

2023-10-31
在线咨询 免费试学 教程领取