Java运算符 - >如何==运算符工作

时间:2016-07-20 07:32:46

标签: java

Java operator ==用于参考比较

然后如何==用于比较int a = 1;和int b = 1;

两个值都存储在不同的位置,然后进行比较

1 个答案:

答案 0 :(得分:0)

正如Andy评论的那样,JLS表示运营商&#39; ==&#39;确实用于 引用类型 比较,但也适用于 数字类型 布尔类型< / em> 比较。

int 数字类型。
比较 数字类型 时,会比较(不是参考)。

但是,如果要确定两个整数的引用是否相等而不是,则可以使用 Integer 类。该类只包含原始 数字类型 int

现在考虑以下代码:

public class TestClass {

public static void main(String[] args)
{
    Integer A = new Integer(1);
    Integer B = new Integer(1);
    Integer C = A;

    if (A == B) System.out.println("Won't print."); // (1)

    if (A.equals(B)) System.out.println("WILL Print!!!"); // (2)

    if (A == C) System.out.println("WILL Print!!!"); // (3)
}
}
  1. 因为A和B是对象,所以A的引用与B的引用进行比较。即使它们的 int 值相同,因为它们是独立的引用此语句为false。
  2. 等于方法会比较每个整数 对象 int 值,因此属实。
  3. 整数 对象 C引用对象 A.因此,此参考比较将为真。