Java Calendar compareTo()方法与示例

日历类compareTo()方法

  • compareTo()方法在java.util包中可用。

  • compareTo()方法用于比较两个Calendar对象,换句话说,可以说此方法用于比较此Calendar对象和给定Calendar对象的时间。

  • compareTo()方法是一种非静态方法,可通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • 比较两个Calendar对象时,compareTo()方法可能会引发异常。

    • NullPointerException:当给定参数为null时,可能引发此异常。

    • IllegalArgumentException:如果给定Calendar对象的时间非法,则可能引发此异常。

语法:

    public int compareTo(Calendar obj2);

参数:

  • Calendar obj –表示要与此Calendar对象进行比较的Calendar对象。

返回值:

此方法的返回类型为int,它根据以下给定情况返回以下值:

  • 如果此日历时间值与给定的日历时间相同,则返回0

  • 如果此Calendar表示的时间早于给定Calendar参数表示的时间,它将返回值<0

  • 如果此日历时间晚于给定Calendar参数指示的时间,它将返回值> 0

示例

//Java程序演示的例子
//日历的int compareTo(Object)方法

import java.util.*;

public class CompareOfCalendar {
    public static void main(String[] args) {
        //实例化两个Calendar对象
        Calendar ca1 = Calendar.getInstance();
        Calendar ca2 = Calendar.getInstance();

        //通过使用add()方法添加10年
        //在ca2到当前ca1-
        ca2.add(Calendar.YEAR, 10);

        //显示ca1和ca2-
        System.out.println("ca1: " + ca1.getTime());
        System.out.println("ca2: " + ca2.getTime());

        //通过使用compareTo(Object)方法是
        //比较两个日历ca1和ca2-
        int comp = ca1.compareTo(ca2);

        //显示比较结果
        System.out.println("ca1.compareTo(ca2): " + comp);
    }
}

输出结果

ca1: Thu Jan 23 11:51:26 GMT 2020
ca2: Wed Jan 23 11:51:26 GMT 2030
ca1.compareTo(ca2): -1