我有一个对象A的列表。该对象A有一个对象B作为属性的列表。考虑到这一点,我试图根据B类型对象的属性筛选A类型的数组(假设它是ID)。
示例:
listOfObjectA = listOfObjectA.stream().filter(a -> a.getListOfB().stream().filter(b -> b.getId() == 10));我已经删除了.collect(Collectors.toList()),以使帖子“更干净”。
这样,我就得到了一个错误:Type mismatch: cannot convert from List<B> to boolean。
我也尝试过用findAny,但也没有好的结果。
发布于 2021-12-01 19:09:33
将第二个“过滤器”替换为"anyMatch“。这将返回一个布尔值,该值将用于第一个“筛选器”:
listOfObjectA = listOfObjectA.stream().filter(a -> a.getListOfB().stream().anyMatch(b -> b.getId() == 10));https://stackoverflow.com/questions/70189864
复制相似问题