源碼如下,當(dāng)參數(shù)不是Calendar的實例時返回的是false,但請問這樣的比較有意義嗎?我個人覺得參數(shù)類型是不是不妥?比如我拿Date類型去做比較,不抱任何錯,但其實永遠(yuǎn)返回的都是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;}//我認(rèn)為這樣比較合理public boolean after(Canlendar when) { return compareTo(when) > 0;}
1 回答

慕標(biāo)5832272
TA貢獻1966條經(jīng)驗 獲得超4個贊
所以比較Calendar
直接用ComparaTo()
就好啦
Date
和Calendar
是公認(rèn)的爛。
相同問題stackoverflow
I think there is no particular reason for that. java.util.Calendar has some design issues we have have to live with, unfortunately.
補充:
Java8實現(xiàn)了新的包java.time,值不可變,且線程安全,包里主要的類與格式
與舊API對應(yīng)關(guān)系
添加回答
舉報
0/150
提交
取消