当前位置: 首页 > 知识库问答 >
问题:

使用选项Java 8检查对象的属性是否不为null

卞经业
2023-03-14

我有一个来自以下类的对象

public class Customer { 
    private String email;
    private String name;
}

如何使用java 8中的Optional检查每个属性是否不为null?还是有另一种不那么冗长的方式?

共有2个答案

乜昆
2023-03-14

如何使用java 8中的Optional检查每个属性是否不为null?

Optional不用于检查null。相反,它旨在充当对象/字段上的容器,并提供空安全引用。这样做的目的是让程序员不必在覆盖多个字段的操作序列中检查每个字段的空引用。你所要求的与Optional应该提供的帮助正好相反。

这里有一篇很好的文章解释了可选的目的。

鄢子平
2023-03-14

如果没有反射,您就无法在一次拍摄中检查所有内容(正如其他人所提到的,可选的并不是为了这个目的)。但如果你可以通过所有属性

boolean match =  Stream.of(email, name).allMatch(Objects::isNull);

您可以将其作为类中的util方法并使用它。

 类似资料:
  • 我试图使用一种方法来检查一个数组列表是否包含一个带有属性的对象。 这是我目前拥有的,但我无法让它发挥作用。

  • 问题内容: 有没有一种快速的方法来检查对象是jQuery对象还是本机JavaScript对象? 例: 显然,上面的代码有效,但并不安全。您可能会向对象添加选择器键并获得相同的结果。有没有更好的方法来确保该对象实际上是jQuery对象? 符合 问题答案: 您可以使用运算符: 说明 :该函数(又名)被实现为构造函数。构造函数将以前缀调用。 调用时,内部jQuery将此转换为1。JavaScript继续

  • 这里有几个关于如何检查对象中是否存在属性的答案。 我一直在使用 但我想知道这和

  • 问题内容: 我正在检查对象属性是否存在,该变量包含一个持有问题的属性名称。 这是因为它正在寻找但我要它检查 问题答案: 要么 要么 请注意,它不会检查继承的属性,而会。例如,是正确的,但事实并非如此。

  • 我想用flow注释以下内容: 我知道如何对进行类型检查,以使的类型为(如上所示),但如何对其属性进行类型检查? 已经尝试过这个: 但是flow只是抱怨从未使用过和。

  • 问题内容: 有没有一种简单的方法来验证对象属于给定的类?例如,我可以 但这需要每次在运行中实例化一个新对象,而只是将其丢弃。有没有更好的方法来检查“ a”是否属于类“ MyClass”? 问题答案: 如其他答案所述,关键字通常是您想要的。请记住,超类也会返回。 如果要查看对象是否是类的直接实例,则可以比较该类。您可以通过获取实例的类对象。您可以通过静态访问特定的类。 因此,例如: 在上面的例子中,