校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > java语言 > 包相关和public等访问权限
题目

Integer比较大小,写出下面每行代码的输出值

Integer a =123,b=123;

System.out.println(a==b);  //1

System.out.println(a.equals(b)); //2

Integer a1 =12345,b1=12345;

System.out.println(a1==b1);//3

System.out.println(a1.equals(b1));//4

解答

Integer 赋予的int数值在-128 - 127的时候,直接从cache中获取,这些cache引用对Integer对象地址是不变的,但是不在这个范围内的数字,则new Integer(i) 这个地址是新的地址,不可能一样的。

所以,当Integer 不在-128-127范围内的时候,Integer a = new Integer(12345)

C 18条回复 评论
我是大怪兽诶

true (-128,127) 缓存
true
false
true 重写了equals

发表于 2020-08-12 10:19:19
0 0
cxx

1
1
0
1

发表于 2020-08-12 10:14:30
0 0
cxx

1
1
0
1

发表于 2020-08-12 10:14:30
0 0
余生安好

true
true
false
true

发表于 2020-08-12 10:10:49
0 0
开轩

true
true
false
true

发表于 2020-08-12 10:09:57
0 0
五分i

true
true
false
true

发表于 2020-08-12 10:08:09
0 0
吃掉张橘子第n天

1
1
1
1

发表于 2020-08-12 09:41:23
0 0