1

我有一些自定义对象的数组列表。该自定义对象有一个日期字段。

我有一个方法,上面有 List 和一个 Date 作为参数。现在我需要在作为参数传递的 Date 之前的列表中找到最新的记录。

有人可以让我知道最好的方法吗?

4

1 回答 1

3

跟踪符合条件的Date,并使用getTime()API 更新符合条件的变量。这段代码可以优化,但我想你明白了。

public static COjbect getClosestRecordToDate(final List<CObject> list, final Date date)
{
     if (list == null || list.isEmpty())
          return null;

     final CObject temp = list.get(0);

     for (final CObject obj : list)
     {
          final long time = obj.getDate().getTime();

          if (time < date.getTime() && time > temp.getTime())
               temp = obj;
     }

     return temp;
}

编辑:感谢@David Wallace 的编辑。

于 2013-09-09T08:35:45.273 回答