compareTo比较日期而不是时间JAVA

时间:2017-10-26 09:42:57

标签: java

基本上,我正在创建约会,我正按照时间顺序按日期和时间对这些约会进行排序。

这是我的日期类

中的compareTo方法
    public int compareTo(Date obj) {

        Date d = (Date) obj;
        if(d == null) {
            return 1;
        }else if(this.year == d.year){
            return month.compareTo(d.month);
        }else if(this.month == d.month) {
            return day.compareTo(d.day);
    }else{
        return year.compareTo(d.year);
    }
 }

以下是我的时间课程中的compareTo menthod

 public int compareTo(Time obj) {


            Time t = (Time) obj;
            if(t == null) {
                return 1;
            }else if(this.hour == t.hour){
                return minute.compareTo(t.minute);
            }else {
                return hour.compareTo(t.hour);
            }
    }

现在在我的预约课中,这是compareTo方法

public int compareTo(Appointment obj) {
        Appointment a = (Appointment) obj;
        if(a == null){
            return 1;
        }else if(this.date == a.date){
            return time.compareTo(a.time);
        } else{
            return date.compareTo(a.date);
        }
    }

我真的无法理解为什么它按日期排序,但是当日期相同时它不会按时间排序。

0 个答案:

没有答案