Java 8 здесь, хотя я имею дело с java.util.Date
, , а не LocalDate
.
У меня есть ситуация, когда мне нужно создать Map<?,?>
, где ключи Dates
:
Map<Date, List<Fizz>> fizzesBySpecialDate = new HashMap<>;
List<Fizz> fizzes = getFizzesSomehow();
for (Fizz fizz : fizzes) {
Buzz buzz = getBuzzFromFizz(fizz);
if (fizzesBySpecialDate.containsKey(buzz.getSpecialDate())) {
fizzesBySpecialDate.get(buzz.getSpecialDate()).add(fizz);
} else {
final List<Fizz> newGroup = new ArrayList<>();
newGroup.add(fizz);
fizzesBySpecialDate.put(buzz.getSpecialDate(), newGroup);
}
}
Таким образом, мое намерение предназначено для всех Fizzes
, у которых есть Buzz
с одним и тем же specialDate
(например, 7/4/2019) для сопоставления. Однако, поскольку каждый getBuzzFromFizz()
будет возвращать Buzz
с новым экземпляром Date
, ни один из Dates
не будет таким же экземпляром, и поэтому я не верю, что вышеприведенное сработает.
Мне нужен способ сказать: « Содержит ли эта карта ту же строковую дату, что и новая строковая дата этого текущего Buzz
? ». Есть идеи, как мне это сделать?