使用可选对象时检查对象克隆不同类型的对象。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