Java - compareTo() 方法



描述

该方法将调用该方法的 Number 对象与参数进行比较。可以比较 Byte、Long、Integer 等。

但是,不能比较两种不同的类型,参数和调用该方法的 Number 对象都应为同一类型。

语法

public int compareTo( NumberSubClass referenceName )

参数

以下是参数的详细信息 -

  • referenceName - 这可以是 Byte、Double、Integer、Float、Long 或 Short。

返回值

  • 如果 Integer 大于参数,则返回 1。
  • 如果 Integer 等于参数,则返回 0。
  • 如果 Integer 小于参数,则返回 -1。

比较 Integer 值示例

在此示例中,我们展示了 compareTo() 方法用于比较 Integer 的用法。我们创建了一个 Integer 变量 x 并将其初始化为值 5。然后使用 compareTo() 方法,我们将其与多个值(如 3、5 和 8)进行比较以涵盖多种情况。

public class Test {
   public static void main(String args[]) {
      Integer x = 5;
      
      // Integer value is greater than the argument (5 > 3) so, output is 1
      System.out.println(x.compareTo(3));
      
      // Integer value is equal to the argument so, output is 0
      System.out.println(x.compareTo(5));
      
      // Integer value is less than the argument (5 < 8) so, output is −1
      System.out.println(x.compareTo(8));            
   }
}

输出

这将产生以下结果 -

1
0
-1

比较 Float 值示例

在此示例中,我们展示了 compareTo() 方法用于比较浮点值的用法。我们创建了一个 Float 变量 x 并将其初始化为值 5.0。然后使用 compareTo() 方法,我们将其与多个值(如 3.0、5.0 和 8.0)进行比较以涵盖多种情况。

public class Test {
   public static void main(String args[]) {
      Float x = (float) 5.0;
      
      // Float value is greater than the argument (5.0 > 3.0) so, output is 1
      System.out.println(x.compareTo((float) 3.0));
      
      // Float value is equal to the argument so, output is 0
      System.out.println(x.compareTo((float) 5.0));
      
      // Float value is less than the argument (5.0  < 8.0) so, output is −1
      System.out.println(x.compareTo((float) 8.0));            
   }
}

输出

这将产生以下结果 -

1
0
-1

比较 Double 值示例

在此示例中,我们展示了 compareTo() 方法用于比较双精度值的用法。我们创建了一个 Double 变量 x 并将其初始化为值 5.0。然后使用 compareTo() 方法,我们将其与多个值(如 3.0、5.0 和 8.0)进行比较以涵盖多种情况。

public class Test {
   public static void main(String args[]) {
      Double x = 5.0;
      
      // Double value is greater than the argument (5.0>3.0) so, output is 1
      System.out.println(x.compareTo(3.0));
      
      // Double value is equal to the argument so, output is 0
      System.out.println(x.compareTo(5.0));
      
      // Double value is less than the argument (5.0<8.0) so, output is −1
      System.out.println(x.compareTo(8.0));            
   }
}

输出

这将产生以下结果 -

1
0
-1
java_numbers.htm
广告