我有一個類的結構是這樣的:可選獲取現場
public class Foo {
private FooB foob;
public Optional<FooB> getFoob() {
return Optional.ofNullable(foob);
}
}
public class FooB {
private int valA;
public int getValA() {
return valA;
}
}
我的目標是調用get方法fooB
,然後檢查,看它是否是存在。如果它存在,則返回valA
屬性,如果不存在,則返回null。所以像這樣:
Integer valA = foo.getFoob().ifPresent(getValA()).orElse(null);
當然,這是不正確的Java 8可選語法,但這是我的「僞代碼」。有沒有什麼辦法可以在Java 8中用1行來實現這一點?
取而代之使用方法引用的成熟候選者; '.MAP(FooB :: getValA)'。 –