Integer 类比较整数

Integer 类比较整数

本文介绍了Java中关于Integer类中整数比较的两个方法:compareTo和equals方法。

compareTo 方法

在数字上比较两个Integer对象。

✍方法声明

public int compareTo(Integer anotherInteger);

  • 📥入参:anotherInteger是要比较的Integer。
  • 🪐返回值:
    • 如果该Integer等于Integer参数,则返回0值;
    • 如果该Integer在数字上小于Integer参数,则返回小于0的值 -1;
    • 如果Integer在数字上大于Integer参数,则返回大于0的值 1。
    public static void main(String[] args) {
        Integer i1 = new Integer("12");
        Integer i2 = new Integer(12);
        Integer i3 = new Integer(33);
        Integer i4 = new Integer(4);
        System.out.println(i1.compareTo(i2));
        System.out.println(i1.compareTo(i3));
        System.out.println(i1.compareTo(i4));
        System.out.println(i2.compareTo(i3));
    }

打印结果:

0
-1
1
-1

i1 和 i2 的数值相等,则为 0; i1 的数值小于 i3 的数值,则为 -1; i1 的数值大于 i4 的数值,则为 1; i2 的数值小于 i3 的数值,则为 -1

equals 方法

比较此对象与指定对象。当且仅当参数不为 null,并且是一个与该对象包含相同int值的Integer对象时,结果为true。

✍方法声明

public boolean equals(Object obj)

  • 📥入参:obj为要比较的对象。
  • 🪐返回值:如果对象相同,则返回true,否则返回false。
    public static void main(String[] args) {
        Integer i1 = new Integer("15");
        Integer i2 = new Integer(15);
        Integer i3 = new Integer(23);
        System.out.println(i1.equals(i2));
        System.out.println(i1 == i3);
        System.out.println(i1.equals(i3));
    }
true
false
false

📝总结

Integer类的compareToequals方法提供了比较两个整数对象的功能。compareTo方法遵循自然排序顺序进行数值比较,而equals方法用于检查两个对象是否有相同的数值内容。

在使用这些方法时,重要的是要理解equals方法在Object类中的默认实现是比较对象引用,而Integer类重写了这个方法以比较数值。这使得即使两个Integer对象在内存中是不同的实例,只要它们的数值相等,equals方法也会返回true。这种比较方式对于处理包装类型的整数数据非常重要,因为它允许开发者在逻辑上比较整数的值,而不仅仅是比较对象引用。

转载请注明出处:码谱记录 » Integer 类比较整数
标签: