我正在用Java编写一个日程安排结构。我有一个Hashtable,其中枚举类Day作为键,计时范围列表作为值。就像这样:
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
private Hashtable<Day,TimeRanges> _applyCalendar;
在这里,TimeRanges类是...
public class TimeRanges implements List<TimeRange> {
当我向_appleCalendar添加元素时,我会这样做:
public void addApplyDay(Day day,TimeRanges trs) {
if (! _applyCalendar.contains(day)) {
_applyCalendar.put(day, trs);
} else {
for ( TimeRange t : trs) {
_applyCalendar.get(day).add(t);
}
}
}
我的问题是contains()方法不能正常工作。 哈希表无法在哈希表中找到现有元素,始终进入第一个条件:S 有没有不用声明Day为类并实现comareTo()的方法来解决这个问题?
Hashtable
呢? - skaffman