我对下面这段代码有一个问题:
public class Equivalence {
public static void main(String[] args) {
Integer n1 = new Integer(47);
Integer n2 = new Integer(47);
System.out.println(n1 == n2);
System.out.println(n1 != n2);
}
}
结果输出让我大吃一惊:
false
true
我已经在线检查了Javadoc中的构造函数,没有任何帮助。
只有基元类型才能可靠地与==
进行比较。对于对象(并且integer
是对象类型),应该使用equals()
方法。
==
可以用于对象,但只能用于检查两个对象实际上是否相同。例如:
Integer n1 = new Integer(47);
Integer n2 = n1;
// n1 == n2 will be true
最好将int
s看作数字本身,将integer
s看作一张写有数字的便利贴。==
仅当您谈论的是同一张便笺时才返回true,equals()
但对于任何两张具有相同编号的便笺都将返回true。
我正在用mongodb和mongoose开发一个expressjsapi。 我想在Javascript es6中创建一个对象,该对象由几个变量和猫鼬请求的结果组成,并希望使用es6扩展运算符这样做: 问题在于应用扩展运算符以wierd方式对其进行结果变换: 我有点理解对象结果被猫鼬丰富,以允许与它进行特定的交互,但是当我在这样做之前console.log时,它描绘了一个没有所有这些东西的简单对象。
问题内容: 我对条件运算符有些疑惑。考虑以下两行: 为什么f1变为null且第二条语句引发NullPointerException? Langspec-3.0第15.25段说: 否则,第二和第三操作数分别为S1和S2类型。令T1为对S1进行装箱转换所产生的类型,而T2为对S2进行装箱转换所产生的类型。条件表达式的类型是将捕获转换(§5.1.10)应用于lub(T1,T2)(§15.12.2.7)的
我对条件运算符有点困惑。请考虑以下两行: 为什么f1变成null,而第二条语句抛出NullPointerException? LANSPEC-3.0第15.25段SAIS: 否则,第二和第三操作数的类型分别为S1和S2。设T1是对S1应用装箱转换得到的类型,设T2是对S2应用装箱转换得到的类型。条件表达式的类型是将捕获转换(§5.1.10)应用于lub(T1,T2)(§15.12.2.7)的结果。
我对这个结果很困惑。 是不同的对象,当处理时,它会比较第一个元素的地址,所以 的行为。 (*)是否等于 ? 是一个对象吗?和都指向这个物体的第一个元素?
Java有运算符吗?请不要关闭这个问题,我确实搜索了文档,我肯定没有,但我想完全确定。 也就是说,可以有之类的东西,或者在视觉上类似于Java中的东西。
问题内容: 我很惊讶在Google上找不到这个简单的发音问题的答案。在检查了十几个不同的页面之后,我只想在这里询问… 根据此页面,3&5导致1。5等于7。我唯一的问题就是: 我们如何获得3和5中的1? 如何获得3分7分| 5? 另外,负数呢? 8和-8如何得出8? 果然,用Java编写以下代码: 产生以下输出: 但是同样,如何确定/计算这些结果? 问题答案: 3&5: 3 | 5: Java中的否