return 双端队列 pollFirst() 在 java 中的结果

return result of Deque pollFirst() in java

我正在编写一个算法问题,下面的代码无法通过 case

public void pop() {
    if (s1.pollFirst() == minStack.peekFirst())
        minStack.pollFirst();
}

不过下面可以,

public void pop() {
    int tmp = s1.pollFirst() ;
    if (tmp == minStack.peekFirst())
        minStack.pollFirst();
}

唯一的区别是我如何使用 s1,pollFirst() return 结果。我在这里无法弄清楚真正的区别。 谢谢

使用 == 比较值小于 -128 或大于 127 的两个 Integer 对象将始终得到 false。但是,如果您将 Integer 与原始 int 进行比较,如果实际值相同,它将给您 true

        int n1=128;
        Integer n2=127;
        Integer n3=127;
        Integer n4=128;
        Integer n5=128;
        System.out.println(n1==n2); //false
        System.out.println(n2==n3); //true
        System.out.println(n4==n5); //false
        System.out.println(n1==n5); //true

在第二个示例中,您将值分配给基元 int,因此它会自动取消装箱。