使用可選對象時檢查對象克隆不同類型的對象。Java 8可選用於在分層對象中執行空檢查
class A{ C cObj, List<B> bList;}
class B{ C cObj; List<C> cList;}
class C { String label; String value;}
class D{ String name; String Age; String addressCode;}
映射A - > d
d.setAddessCode(A.getBlist().get(0).getcList().get(0).getValue());
使用Java 8可選
A.getBlist().get(0).getcList().get(0).getValue()
我試圖
d.setAddessCode(Optional.ofNullable(A).map(A::getBList).map(Stream::of).orElseGet(Stream::empty).findFirst().map(B::getCList).map(Stream::of).orElseGet(Stream::empty).findFirst().map(C::getValue).orElse(null)));
我怎麼能在列表檢查空如何檢查空並一起重視。
你如何由C到d? – shmosel
來自B的orElseGet(Stream :: empty)'應該已經爲你做了,不是嗎? – nullpointer
爲什麼只有空檢查?如果'bList'非空而是空? – Andreas