gpt4 book ai didi

java - 在 Optional 中包装对象以使用 ifPresent 方法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:01:00 28 4
gpt4 key购买 nike

<分区>

我正在学习选修课。我对方法的正确使用有点困惑 Optional.ifPresent(Consumer<? super T> consumer) .

我在一个项目中看到了这个例子:

Optional.ofNullable(user.getIdentifiantAAA())
.ifPresent(id -> identifiants.add(new Identifiant(id, IdentifiantType.AAA));

恕我直言,这比以下可读性差:

if (user.getIdentifiantAAA() != null) {
identifiants.add(user.getIdentifiantAAA());
}

The class Optional is:

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.ifPresent 的使用打破了这个类的主要提议。 Optional 的实例只是为了使用 isPresent 方法而创建的,对于这种情况真的有必要吗?

所以,我的问题是:应该将对象包装在 Optional 中以检查非 null 并使用方法 Optional.ifPresent(Consumer<? super T> consumer) 执行代码?

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com