Deque pollFirst()在Java中的返回结果

问题描述 投票:0回答:1

我正在编码算法问题,下面的代码无法通过大小写

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()返回结果。我在这里找不到真正的区别。谢谢

java deque
1个回答
3
投票

使用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

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

© www.soinside.com 2019 - 2024. All rights reserved.