【发布时间】:2015-05-15 12:05:29
【问题描述】:
我正在编写一个应用程序,我需要在其中读取上一个较低日期和下一个较高日期。为此,我使用了来自here 的参考。但是 Map.lowerKey(Date) 每次都返回相同的请求..(Date) 对象。
示例代码:
Calendar c = Calendar.getInstance();
TreeMap<Date, String> treemap = new TreeMap<>();
for (int i = 0; i < 5; i++) {
treemap.put(c.getTime(), (i + 1) + "");
if(i == 3)
c.add(Calendar.DATE, 2); // number of days to add
else
c.add(Calendar.DATE, 1); // number of days to add
}
c = Calendar.getInstance();
c.add(Calendar.DATE, 1);
System.out.println("C_Time : "+ c.getTime() + ", L_Time: " + treemap.lowerKey(c.getTime()) + ", G_Time: " + treemap.higherKey(c.getTime()));
作为回应它给出:
C_Time:2015 年 5 月 16 日星期六 17:39:51 IST,L_Time:5 月 16 日星期六 17:39:51 IST 2015, G_Time: Sun May 17 17:39:51 IST 2015
这里 higherKey 值很好,但 lowerKey 返回相同的请求对象。
我在这里缺少什么?
【问题讨论】:
-
请参考更新后的问题。