我有对象,这是它的描述?
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/