为什么Java中2个Long变量与==运算符不相等?

为什么Java中2个Long变量与==运算符不相等?,第1张

为什么Java中2个Long变量与==运算符不相等?

==
比较参考,
.equals()
比较值。这两个Long是对象,因此使用
==
运算符时会比较对象引用。

但是,请注意,使用会将

Long id1 =123L;
字面值
123L
自动装箱
Long
对象中
Long.valueOf(String)
,并且在内部,此过程将使用LongCache,该LongCache具有
[-128,127]
范围,并且123在此范围内,这意味着将对long对象进行缓存,并且这些两个实际上是相同的对象。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5429375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存