Java中Deque pollFirst()的返回结果

nat*_*han 0 java deque

我正在编写一个算法问题,下面的代码不能通过大小写

public void pop() {
    if (s1.pollFirst() == minStack.peekFirst())
        minStack.pollFirst();
}
Run Code Online (Sandbox Code Playgroud)

但是下面可以,

public void pop() {
    int tmp = s1.pollFirst() ;
    if (tmp == minStack.peekFirst())
        minStack.pollFirst();
}
Run Code Online (Sandbox Code Playgroud)

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

wis*_*nix 5

使用比较Integer值小于 -128 或大于 127 的两个对象==将始终导致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
Run Code Online (Sandbox Code Playgroud)

在第二个示例中,您将值分配给原语int,因此它会自动拆箱。