这个:

Timerange longest = Timerange.longest(breaks);
if (longest.durationInHours() >= MIN_FREE_HOURS)
    return true;


还可以

但是这个:

if (Timerange.longest(breaks).durationInHours() >= MIN_FREE_HOURS)
    return true;


给出:

java.lang.ClassCastException


你知道为什么吗?!

为简单起见:

public static final <T extends Timerange> T longest(List<T> timeranges) {
    return timeranges.get(0);
}


休息时间:

List<Duty> breaks = week.substract(weekDuties);

最佳答案

如果尝试以下操作会发生什么:

if (((Timerange) Timerange.longest(breaks)).durationInHours() >= MIN_FREE_HOURS)
    return true;


例如,投放吗?

07-24 21:42