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
-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
false
false
📝总结
Integer类的compareTo
和equals
方法提供了比较两个整数对象的功能。compareTo方法遵循自然排序顺序进行数值比较,而equals方法用于检查两个对象是否有相同的数值内容。
在使用这些方法时,重要的是要理解equals方法在Object类中的默认实现是比较对象引用,而Integer类重写了这个方法以比较数值。这使得即使两个Integer对象在内存中是不同的实例,只要它们的数值相等,equals方法也会返回true。这种比较方式对于处理包装类型的整数数据非常重要,因为它允许开发者在逻辑上比较整数的值,而不仅仅是比较对象引用。