源码如下,当参数不是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;
}
따라서
ComparaTo()
를 사용하여캘린더
를 비교하세요.날짜
및캘린더
는 불량으로 인식됩니다.같은 질문 stackoverflow
보충 사항:
Java8은 변경 불가능한 값을 가지며 스레드로부터 안전한 새로운 패키지 java.time을 구현합니다.
이전 API와의 대응