比较对象(整数)与原始数据类型(整数)

时间:2014-11-15 05:23:29

标签: java object int comparison primitive

在UIL CS数据包enter image description here中遇到了一个奇怪的问题     这是解决方案

public class equality {
public static void main(String[] args) throws IOException {
    Scanner scan = new Scanner (new File("equality.dat"));
    while (scan.hasNext()) {
        int start = scan.nextInt();
        int step = scan.nextInt();
        int z = start;
        for (int i = 0; i < 5; i++) {
            Integer a = z;
            Integer b = z;
            System.out.printf("%+4d == %+4d is %s\n",a,b,(a==b)); // <-- Confusing part
            z+=step;
        }
        System.out.println();
    }
    scan.close();
}    
}

我想知道是否有人可以解释为什么(a==b)返回true / false。我认为这与它的比较参考而不是价值本身这一事实有关,但如果是这样的话,那么它们都不会是假的吗?我很困惑:/

0 个答案:

没有答案