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
,因此它会自动取消装箱。
我正在编写一个算法问题,下面的代码无法通过 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
,因此它会自动取消装箱。