Tro*_*zan 0 java lambda java-11
我有一个方法,效果很好。这就是它的样子。
private boolean roomWithMoreThanTenFurnitures(Building building) {
if (building != null && building.hasRooms()) {
for (Room room : building.getRooms()) {
if (room.getFurnitures.size() > 10) {
return true;
}
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
我想把它切换到 Lambda。uo 是用 shell 进来的,但是我不知道外面如何填写 if(条件) return true 或 return false。
building.getRooms().forEach(room -> {
//??
});
Run Code Online (Sandbox Code Playgroud)
你不能这样做 - 这foreach
是为了对每个集合/流元素执行一些操作,而不是过滤它们或映射到结果
你需要例如anyMatch
方法 - 例如
building.getRooms().stream().anyMatch(room -> room.getFurnitures.size() > 10)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2449 次 |
最近记录: |