Я определяю ограничение в моем проекте OptaPlanner (используя Constraint-Stream-API), начиная следующим образом:
factory.from(Lesson.class)
.join(Lesson.class, equal(Lesson::getTimeslot, Lesson::getTimeslot))...
В классе Timeslot
я переопределил equals()
-метод. Мне кажется, однако, что Joiners.equal не использует этот метод равных для сравнения временных интервалов, потому что я получаю другой результат, используя следующий код:
factory.from(Lesson.class).join(Lesson.class)
.filter((l,m) -> l.getTimeslot().equals(m.getTimeslot())
Кто-нибудь знает, на каком основании Joiners.equal
делает свое сравнение