Java 仅当不为null时设置属性

Java 仅当不为null时设置属性,java,Java,我在输入中有一些数据,我必须使用这些数据来设置POJO的所有属性。POJO可能已部分设置。我的问题是仅当相关输入数据不为null时才设置属性。 我知道我可以通过两种方式做到这一点: if (input != null) { obj.setData(input); } 或 我正在寻找一种解决方案,它不那么难看,而且更适合设置大量属性的对象。您也可以使用java8 甚至可以使用更优雅的方式: Optional.ofNullable(input).ifPresent(obj::setData

我在输入中有一些数据,我必须使用这些数据来设置POJO的所有属性。POJO可能已部分设置。我的问题是仅当相关输入数据不为null时才设置属性。 我知道我可以通过两种方式做到这一点:

if (input != null) {
    obj.setData(input);
}


我正在寻找一种解决方案,它不那么难看,而且更适合设置大量属性的对象。

您也可以使用
java8

甚至可以使用更优雅的方式:

Optional.ofNullable(input).ifPresent(obj::setData);
使用番石榴:

String someString = "value";
Optional.fromNullable(someString).or("defaultValue");

嗯,为了检查空值,你必须检查空值:-)我在发布之前搜索了类似的问题,但我没有找到这个。也许是不同的。我的问题是不使用空值覆盖pojo中的现有数据。因为我使用java的时间不长(我在一年多前开始使用它),所以我希望有更好的方法来实现这一点。谢谢,但我不能使用Java8。我必须使用Java7。在这种情况下,null检查必须在setter内部。在Java7中,您可以使用Guava中的Optional
Optional.ofNullable(input).ifPresent(obj::setData);
String someString = "value";
Optional.fromNullable(someString).or("defaultValue");