2017-02-22 140 views
1

我使用流過濾器從請求對象中獲取兩個日期。在那裏,我必須比較這些對象,然後收集它們存儲在列表中。但是現在我得到這個錯誤。請幫助我。如何比較java 8中的流過濾器中的兩個日期?

錯誤:

Type mismatch: cannot convert from int to boolean

代碼:

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

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

也許你想使用'equals'而不是'compareTo'? – misko321

回答

3

你不聲明你的過濾條件居然是:

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

的compareTo自行返回一個int值,那不行被轉換爲布爾值,這是過濾器所需要的。

順便說一句'string'在過濾器中不是一個好名字。

+0

我正在嘗試。 –

+0

感謝它正在工作的人。 –