gpt4 book ai didi

java - Java Integer类中的加法运算

转载 作者:行者123 更新时间:2023-12-03 00:13:30 26 4
gpt4 key购买 nike

我在面试时遇到了一个Java问题,如下

public static boolean isSame(Integer a, Integer b){
return a==b;
}

public static void main(String[] arg){
int i=0;
for(int j=0;i<500;++i,++j){
if(isSame(i,j)){
continue;
}
else break;
}
}

问题是“i=?”终于。

我以为我最终会达到 500 岁。但当我在 Eclipse 中尝试时,i=128!

所以我想知道这里发生了什么。

谢谢

最佳答案

使用 == 比较两个 Integer 对象,如果它们是相同对象(即相同的实例),即无论它们的如何。

但是,值 -128127缓存,因此会自动装箱这些值(当您传递 int 作为 Integer 参数)始终返回给定值的 Integer相同实例。

超出此范围的值始终会导致创建 Integer 的新实例。

关于java - Java Integer类中的加法运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21323813/

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