java - 如何在java spring boot中通过localDateTime过滤对象?

标签 java filter java-8

我有对象,这是它的描述?

public MemberSkills(User user, BasicSkills skills, Short level, Short status, LocalDateTime confirmDate, String comment) {
    this.user = user;
    this.skills = skills;
    this.level = level;
    this.status = status;
    this.confirmDate = confirmDate;
    this.comment = comment;
}

我想按从“confirmDate”到“confirmDate”过滤 MemberSkill。 我正在使用 Java-8 和 Java-springboot。 我尝试过,但没有成功。

LocalDateTime fromdate = LocalDateTime.parse(memberSkillRequest.getFromDate(), formatter);
LocalDateTime toDate = LocalDateTime.parse(memberSkillRequest.getToDate(), formatter);

List<MemberSkills> filterMemberSkill = memberSkills.stream().filter(memberSkill -> memberSkill.getConfirmDate().isBefore(fromdate)).collect(Collectors.toList());
List<MemberSkills> listMemberSkill = filterMemberSkill.stream().filter(memberSkill -> memberSkill.getConfirmDate().isAfter(toDate)).collect(Collectors.toList());

fromdate 和 todate 从客户端发送过来。

最佳答案

可能是因为您正在第一个过滤列表上运行第二个过滤,该列表已经排除了第二个过滤器中的任何内容。你应该能够做这样的事情 -

List<MemberSkills> filterMemberSkill = memberSkills.stream()
                 .filter(memberSkill -> memberSkill.getConfirmDate().isBefore(toDate) 
                                   && memberSkill.getConfirmDate().isAfter(fromDate))
                 .collect(Collectors.toList());

关于java - 如何在java spring boot中通过localDateTime过滤对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54233620/

相关文章:

当内存在 ubuntu 中仍然可用时发生 Java 内存不足

java - 从另一个类访问创建的对象

javascript - 使用 Vue.js 将数组长度增加和减少到输入范围值

javascript - 如何使用另一个数组的内容过滤数组?

python - WebDriver:为什么 send_keys 在 find_element_by_xpath 之后不起作用?

Java:如何复制图形对象并重用它?

java - 发送 POST 并读取流响应

java - 如何从 Java 8 Streams 中的 forEach 循环获取列表输出

java - Java 8 的构造函数引用的实际应用?

java - 为什么Java中没有Instance级的Stream.concat方法?