我看到Integer比较的suprice结果

时间:2014-01-25 20:07:39

标签: java

我看到整数与另一个检查有不同的结果,我无法弄清楚为什么我会收到这些结果?

例如:

    Integer j = new Integer(2);
    Integer i = new Integer(2);

    boolean test1 = false;
    if(i >= j){
    test1 = true;
    }else{
    test1 = false;
    }

    boolean test2 = false;
    if(i <= j){
    test1 = true;
    }else{
    test2 = false;
    }

    System.out.println("i >= j: " + test1);   //gives True
    System.out.println("i <= j: " + test2);   //gives False

    System.out.println(i >= j);  //gives True
    System.out.println(i <= j);  //gives True

我很好奇为什么我看到我比j更大所以我也测试了我&gt; j仍然看到True为结果。

我想知道是否有人可以向我解释这一点,或者告诉我在哪里可以读到这个。我试图找出它并且已经阅读了包装类但不确定那是罪魁祸首。堆叠放置可能吗?

1 个答案:

答案 0 :(得分:3)

你有一个拼写错误:在第二个区块中,你写了test1 = true,但它应该是test2 = true