A comparator must return 0 if the values are equal. In your current implementation, you return 1 if they are equal. The easiest way to compare your double
values correctly is to call Double.compare
:
double d1 = MyUtils.calcSmoothDays(date0, new Date());
double d2 = MyUtils.calcSmoothDays(date1, new Date());
return Double.compare(d1, d2);