foodCostRecords.stream().filter(r -> r.getOccurTime().getHour() >= 17) .filter(s -> s.getOccurTime().getHour() <= 23).collect(Collectors.toList());
时间: 2024-04-28 11:20:42 浏览: 54
android-date_and_time.zip_Time_java-time-and-date
这是一个 Java 8 中使用 Stream API 进行过滤的示例代码。该代码使用了 filter() 方法对一个名为 foodCostRecords 的集合进行了两次过滤,并最终使用 collect() 方法将过滤结果转换为一个 List 集合。
具体来说,该代码的作用是筛选出 foodCostRecords 集合中,在晚上 5 点(包含 5 点)到晚上 11 点(包含 11 点)之间发生的费用记录。其中:
- filter(r -> r.getOccurTime().getHour() >= 17) 表示筛选出发生时间在晚上 5 点及以后的费用记录。
- filter(s -> s.getOccurTime().getHour() <= 23) 表示在第一次筛选结果的基础上,再筛选出发生时间在晚上 11 点及以前的费用记录。
- 最后使用 collect(Collectors.toList()) 将过滤结果转换为一个 List 集合。
需要注意的是,该代码中用到了 Java 8 中的 lambda 表达式以及 Stream API,需要在 JDK 8 或以上的环境下才能正确运行。
阅读全文