使用Option Java 8检查对象的属性是否为空

时间:2018-03-17 15:46:37

标签: java java-8

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

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

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

2 个答案:

答案 0 :(得分:3)

没有反射你不能一次性检查所有(正如其他提到的那样,可选不是为了那个目的)。但是如果你可以传递所有属性

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

您可以在类中使用它作为util方法并使用它。

答案 1 :(得分:0)

  

如何使用Optional检查每个属性是否为空   来自java 8?

Optional不用于检查空值。相反,它旨在充当对象/字段的容器,并提供null安全引用。这个想法是为了减轻程序员在覆盖多个字段的操作序列中检查每个字段的空引用。你要求的是与Optional应该提供帮助的完全相反的东西。

Here是一篇很好的文章,解释了Optional的目的。