长时间使用Java 7之后,我最终将转换为Java8。我想知道在这种情况下最好的构造是什么:直接进入示例:
class Bar {
private Foo foo;
// getters, setters
}
class Foo {
private String value1;
private String value2;
private String value3;
private String value4;
// getters, setters
}
检查foo是否不为null并至少填充一个值的最佳选择是什么?
1。
Optional<Foo> foo = Optional.ofNullable(bar.getFoo());
if(foo.map(Foo::getValue1).isPresent()
||foo.map(Foo::getValue2).isPresent()
||foo.map(Foo::getValue3).isPresent()
||foo.map(Foo::getValue4).isPresent()){
}
2。
Optional<Foo> foo = Optional.ofNullable(bar.getFoo());
if(foo.filter(foo->foo.getValue1()!=null
||foo.getValue2()!=null
||foo.getValue3()!=null
||foo.getValue4()!=null).isPresent()){
}
Foo foo1=bar.getFoo();
if(foo1!=null&&(foo.getValue1()!=null
||foo.getValue2()!=null
||foo.getValue3()!=null
||foo.getValue4()!=null)){
}
谢谢。