gpt4 book ai didi

java - 如何使用比较器(用于二分搜索)将 DateTime 与对象中的 DateTime 字段进行比较?

转载 作者:行者123 更新时间:2023-12-01 13:14:20 25 4
gpt4 key购买 nike

我想使用二分搜索将输入的日期与假期对象的排序列表进行比较。假期对象由一个带有名称的字符串和一个 jodatime 日期时间组成。所以我正在比较相同的类型,但一个是对象的一部分,另一个不是。

我有:

public class DateTimeComparator implements Comparator<DateTime> {
public int compare(DateTime userDate, DateTime listHoliday) {
if (userDate.equals(Holidays.getAllHolidays().date)) {
return 1;
}
else {
return 0;
}
}
}

Eclipse 的反馈是无法解析日期。如何正确指向假期列表的日期字段?

编辑:所以如果我不需要比较器(在另一个问题中向我建议),我如何构建我的二分搜索?到目前为止我已经:

public static boolean isHoliday(List<Holiday> holidayList, DateTime date) {
if(Collections.binarySearch(holidayList.date, date)) {
return true;
}
return false;
}

最佳答案

您不需要为此编写一个ComparatorDateTime本质上已经是Comparable了。此外,引用 LIST 的date 字段是没有意义的;它是具有该字段的列表的元素,而不是列表本身。

您想使用Collections.binarySearch相反,您自己处理输出。

关于java - 如何使用比较器(用于二分搜索)将 DateTime 与对象中的 DateTime 字段进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22585807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com