Nav*_*run 1 java java-8 java-stream
我使用流过滤器从请求对象中获取两个日期。在那里我必须比较这些对象,然后将它们收集到列表中。但现在我得到这个错误。请帮我解决。
错误:
类型不匹配:无法从 int 转换为 boolean
代码:
Date checkIn = req.getCheckIn();
Date checkOut = req.getCheckOut();
List<PlaceBook> filtered = checkInVal.stream().filter(string ->
string.getCheckInDt().compareTo(checkIn)).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
您没有声明您的过滤条件实际上是什么:
List<PlaceBook> filtered = checkInVal.stream().filter(string ->
string.getCheckInDt().compareTo(checkIn) == 0 /* == 0, for example is missing*/).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
compareTo 本身返回一个 int 值,该值不能转换为过滤器所需的布尔值。
顺便说一句,“字符串”在过滤器中不是一个好名字。