比较长整型 compareTo 方法与 equals()

比较长整型 compareTo 方法与 equals()

比较两个 Long 对象,可以用到 compareTo() 方法,如果仅仅需要知道两者是否相等,可以用 equals() 方法。

比较长整数 compareTo()

✍方法声明

public int compareTo(Long anotherLong);

  • 📥入参:anotherLong是要比较的Long。
  • 🪐返回值:如果该Long等于Long参数,则返回0值;如果Long在数字上小于Long参数,则返回小于0的值;如果Long在数字上大于Long参数,则返回大于0的值(有符号的比较)。
    public static void main(String[] args) {
        Long num1 = new Long("12345");
        Long num2 = new Long(12345);
        Long num3 = new Long(123456L);
        int val = num1.compareTo(num2);
        System.out.println("Long 类型数值 " + num1 + " 与 " + num2 + " compareTo " + val);
        int val2 = num1.compareTo(num3);
        System.out.println("Long 类型数值 " + num1 + " 与 " + num3 + " compareTo " + val2);
    }
Long 类型数值 12345 与 12345 compareTo 0
Long 类型数值 12345 与 123456 compareTo -1

判断长整数对象相等 equals()

将此对象与指定对象进行比较。当且仅当该参数不是null,且Long对象与此对象包含相同的long值时,结果才为true。

✍方法声明

public boolean equals(Object obj)

  • 📥入参:obj为要比较的对象。
  • 🪐返回值:如果对象相同,则返回true,否则返回false。
    public static void main(String[] args) {
        Long num1 = new Long("12345");
        Long num2 = new Long(12345);
        boolean bool1 = num1.equals(num2);
        boolean bool2 = num1.equals(null);
        System.out.println("Long 数值 " +num1+ " 与 " + num2 +" 是否相等 "+bool1);
        System.out.println("Long 数值 " +num1+ " 与 null 是否相等 "+bool2);
    }
Long 数值 12345 与 12345 是否相等 true
Long 数值 12345 与 null 是否相等 false

📝总结

Long类的compareTo()和equals()方法提供了比较两个长整型对象的功能。

compareTo()方法遵循有符号的比较规则,而equals()方法则用于检查两个对象是否具有相同的数值内容。

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

转载请注明出处:码谱记录 » 比较长整型 compareTo 方法与 equals()
标签: