源码如下,当参数不是Calendar
的实例时返回的是false
,但请问这样的比较有意义吗?
我个人觉得参数类型是不是不妥?比如我拿Date
类型去做比较,不抱任何错,但其实永远返回的都是false
。
public boolean before(Object when) {
return when instanceof Calendar
&& compareTo((Calendar)when) < 0;
}
public boolean after(Object when) {
return when instanceof Calendar
&& compareTo((Calendar)when) > 0;
}
//我认为这样比较合理
public boolean after(Canlendar when) {
return compareTo(when) > 0;
}
したがって、
Calendar
を比較し、ComparaTo()
と
Date
は一般的に悪いものとして認識されます。Calendar
同じ質問スタックオーバーフロー補足:
Java8 は、不変でスレッドセーフな新しいパッケージ java.time を実装します。
内の主なクラスと形式は次のとおりです。 API対応は従来と同様です