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

Alb*_*gni 10 java calendar

来自javadoc Calendar.before(Object when):

返回此Calendar是否表示指定Object表示的时间之前的时间.这种方法相当于:

compareTo(when) < 0
Run Code Online (Sandbox Code Playgroud)

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

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

Der*_*ike 7

我认为没有特别的理由.java.util.Calendar不幸的是,我们必须忍受一些设计问题.

  • 通过"活着",你的意思是倾向于支持Joda Time吗? (4认同)