java - 在流过滤器中使用 Java 过滤器
问题描述
我有Item
和Address
课程:
public class Item {
String name;
List<Address> address;
}
public class Address {
String name;
String lane;
}
假设我有一个项目列表,并且想要过滤通道为 的项目"lane1"
。
我在下面尝试,但在 Eclipse 中它显示:
“类型不匹配:无法从流地址转换为布尔值”
items.stream().filter(a->a.getAddress().stream().
filter(b->b.getLane().equals("lane1"))).collect(Collectors.toList());
解决方案
您可以anyMatch
在内部流上使用:
items.stream().filter(a->a.getAddress().stream().
anyMatch(b->"lane1".equals(b.getLane()))).collect(Collectors.toList());
推荐阅读
- ios - Swift - 连接设备后在后台发布数据
- timeline.js - 在 patternfly-timeline 中使用 Jalali 日期而不是公历日期
- apache-kafka - 如何在 Webflux 应用程序中制作 Spring Cloud Stream 消费者?
- angular - 如何导航到 .ts 文件
- c# - 带零的 LPAD 未应用于字符串
- python - 带有布尔“过滤器”的 np 快速随机采样
- android - 是否可以在不离开应用程序的情况下在 Flutter 应用程序中拨打电话?
- cython - 如何从头开始设置 windows cython 环境?
- python - 为什么尽管安装了 scipy 却不能使用它?
- r - R Fixest 包:没有进一步外生变量的 IV 估计