如何在java 8中比较流过滤器中的两个日期?

时间:2017-02-22 12:09:33

标签: java java-8 java-stream

我使用流过滤器从请求对象中获取两个日期。在那里,我必须比较这些对象,然后收集它们存储在列表中。但现在我得到了这个错误。请帮帮我。

错误:

  

类型不匹配:无法从int转换为布尔值

代码:

Date checkIn = req.getCheckIn();
Date checkOut = req.getCheckOut();

List<PlaceBook> filtered = checkInVal.stream().filter(string -> 
            string.getCheckInDt().compareTo(checkIn)).collect(Collectors.toList());

1 个答案:

答案 0 :(得分:4)

你没有声明你的过滤条件实际是什么:

List<PlaceBook> filtered = checkInVal.stream().filter(string -> 
        string.getCheckInDt().compareTo(checkIn) == 0 /* == 0, for example is missing*/).collect(Collectors.toList());

compareTo本身返回一个int值,该值不能转换为boolean,这是filter所必需的。

BTW&#39; string&#39;在过滤器中不是一个好名字。

相关问题