我有一个 PrimaryDTO 类,其中包含一个List<SecondaryDTO>
,而这个 SecondaryDTO 本身包含一个Set<SecondaryCategoryDTO>
,最后是这个 SecondaryCategoryDTO 包含布尔状态。
在下面的语句中,我要检查是否有任何状态为 true ,然后在语句未输入的情况下进入。
if(Optional.ofNullable(PrimaryDTO.getSecondaryDTOs()).
orElse(PrimaryDTO.getSecondaryDTOs()).stream().filter(Objects::nonNull)
.map(x->x.getSecondaryCategories()).anyMatch(z-> z.isStatus()==true))
但是,在上述语法中, z.isStatus()给出了错误,因为它说z是一个 set 。我已经使用 getSecondaryCategories()通过 .map 迭代了Set。我不明白为什么要按其设定?
答案 0 :(得分:1)
似乎您可能将PrimaryDTO
作为空值 ,而将List<SecondaryDTO>
作为空值,和其中的某些元素{{1 }}在这种情况下也可能为null:
List