gpt4 book ai didi

java - 对象之间的平等是如何实现的?

转载 作者:行者123 更新时间:2023-12-01 17:22:21 25 4
gpt4 key购买 nike

如果我们使用不同的声明语句创建3个int类型的变量,例如,

Integer i = 10; 
Integer j = new Integer(10);
int k = 10;

我们比较它们是否相等,我们得到i == kj == k,但不是i==j

这是什么原因?

最佳答案

由于 i 的类型为 Integer 并且 k 的类型为 int,因此表达式 i == k 触发器 unboxing :它相当于 i.intValue() == k (甚至如果 i 为 null,它会引发 NullPointerException) 。对于j == k 也是如此。但由于 ij 都有类型 Integer,因此不会执行自动拆箱,因此 i == j 只是检查查看它们是否是同一个对象 - Integer 的同一个实例。

关于java - 对象之间的平等是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17682646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com