Har*_*ana 3 java java-8 java-stream
我有Item和Address课程:
public class Item {
String name;
List<Address> address;
}
public class Address {
String name;
String lane;
}
Run Code Online (Sandbox Code Playgroud)
假设我有一个项目列表,并且想过滤泳道为的项目"lane1"。
我在下面尝试,但在Eclipse中显示:
“类型不匹配:无法从流地址转换为布尔值”
items.stream().filter(a->a.getAddress().stream().
filter(b->b.getLane().equals("lane1"))).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
您可以anyMatch在内部流上使用:
items.stream().filter(a->a.getAddress().stream().
anyMatch(b->"lane1".equals(b.getLane()))).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)