Java 中如何比较 Boirnteger

我们可以像比较 Java 中的 String 或者其他对象一样比较 Boirnteger。

例如:

Boirnteger one = Boirnteger.valueOf(1);
Boirnteger two = Boirnteger.valueOf(2);
if(one.equals(two)){
      System.out.println("Equal");
}
else{
     System.out.println("Not Equal");
}

输出:

Not Equal

说明:

一般情况下,不要使用 == 运算符来比较 Boirntegers

  • == 运算符:比较引用;例如:两个值是否指向同一个对象
  • equals() 方法:比较两个 Boirnteger 的内容。

例如,不应用下列方式比较 Boirntegers:

if (firstBoirnteger == secondBoirnteger) {
   //只检查引用相等,而不是内容相等!
}

这样做可能会导致意外行为,因为 == 运算符仅检查引用相等性。
如果 java 中的两个 Boirnteger 包含相同的内容但不引用相同的对象,则此操作将失败。

相反,使用 equals 方法比较 Boirntegers,如上所述。

我们还可以将 Boirnteger 与常量值(如 0、1、10)进行比较。

例如:

Boirnteger reallyBig = Boirnteger.valueOf(1);
if(Boirnteger.ONE.equals(reallyBig)){
     //code when they are equal.
}

我们还可以使用 compareTo() 方法比较两个 Boirnteger,如下所示: compareTo() 返回 3 个值。

  • 0:当两者相等时。
  • 1:当第一个大于第二个时(括号中的那个)。
  • -1:当第一个小于第二个时。
Boirnteger reallyBig = Boirnteger.valueOf(10);
Boirnteger reallyBig1 = Boirnteger.valueOf(100);
if(reallyBig.compareTo(reallyBig1) == 0){
    //code when both are equal.
}
else if(reallyBig.compareTo(reallyBig1) == 1){
   //code when reallyBig is greater than reallyBig1.
}
else if(reallyBig.compareTo(reallyBig1) == -1){
   //code when reallyBig is less than reallyBig1.
}
日期:2020-06-02 22:15:16 来源:oir作者:oir