Calendar.before(Object when),为什么是Object?

2022-01-11 00:00:00 calendar java

来自Calendar.before(Object when)的javadoc:

From the javadoc of Calendar.before(Object when):

返回此日历是否表示指定对象表示的时间之前的时间.该方法等价于:

Returns whether this Calendar represents a time before the time represented by the specified Object. This method is equivalent to:

compareTo(when) < 0

当且仅当 when 是 Calendar 实例.否则,该方法返回 false.

if and only if when is a Calendar instance. Otherwise, the method returns false.

如果当有人传递不是 Calendar 实例的东西时它返回 false,为什么它会接受 Object?为什么不直接接受 Calendar 实例?这让我在很长一段时间内一直在关注某个功能中的不正确结果.

Why does it accepts an Object if when someone passes something that's not a Calendar instance it returns false? Why not just accepting a Calendar instance? This kept me watching for uncorrect results in a functionality for quite some time.

推荐答案

我认为没有什么特别的原因.java.util.Calendar 有一些设计问题,我们不得不忍受,很遗憾.

I think there is no particular reason for that. java.util.Calendar has some design issues we have have to live with, unfortunately.

相关文章