一道普通的题,我觉得你会做错,不信来试试

wangearn 2009-04-12 03:37:52
加精

Integer a = 128;
Integer b = 128;
System.out.println(a==b);

答案只有2个,如果不是猜出来的,请写出为什么
...全文
5391 283 打赏 收藏 转发到动态 举报
写回复
用AI写文章
283 条回复
切换为时间正序
请发表友善的回复…
发表回复
LSSSSSS 2010-07-14
  • 打赏
  • 举报
回复
我楼上的大哥,是false啊。怎么能是TRUE呢
guicaizhou 2010-05-12
  • 打赏
  • 举报
回复
学习了
lm123456 2010-05-11
  • 打赏
  • 举报
回复
FALSE
lacus87 2010-05-10
  • 打赏
  • 举报
回复
[Quote=引用 279 楼 lacus87 的回复:]
[/Quote]
6楼已经说的很详细了,再说比对象地址的建议去看看,换成127就是TRUE了
lacus87 2010-05-10
  • 打赏
  • 举报
回复
Integer a = 128; //等同于Integer a = Integer.valueof(128);
Integer b = 128;
System.out.println(a==b);

Integer.valueof(i)这个方法,如果i是在-128~127之间,那么都是在池中操作,
System.out.println(a==b); 会返回true;

如果越界了,那么池就无效了。会返回false;

楼上很多人说返回值是false都是蒙对了
tom129 2010-01-07
  • 打赏
  • 举报
回复
false
yz3952108 2009-09-28
  • 打赏
  • 举报
回复
额 学习了!
ican_areyou 2009-09-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 justinavril 的回复:]
引用 3 楼 djs36 的回复:
要是string a="128"就是true了,string构造方式和Int不一样

呵呵,研究String比较多,是吧?

看看Integer的封装吧:
Java codepublicstatic Integer valueOf(int i) {finalint offset=128;if (i>=-128&& i<=127) {// must cachereturn IntegerCache.cache[i+ offset];
}returnnew Integer(i);
}

当你直接给一个Integer对象一个int值的时候,其实他是调用了valueOf这个方法,然后你赋得这个值很特别,是128,那么没有进行cache方法,那么就相当于new了一个。所以你的那两句代码就类似于:

Java codeInteger a=new Integer(128);
Integer b=new Integer(128);

这个时候再问你  这两个==呢?你就知道是false了。如果你把这个数换成127,再执行:
Java codeInteger a=127;
Integer b= Integer.valueOf(127);
结果就是true。


话又说回来了,这些都没有必要了。记住对象比较用equals就好了。
[/Quote]
up
  • 打赏
  • 举报
回复
刚学java 来瞅瞅
再见品月 2009-08-10
  • 打赏
  • 举报
回复
考 java自动装箱拆箱 方面的知识的。
Integer 在 -128~127 自动拆箱

leemoonjay 2009-08-04
  • 打赏
  • 举报
回复
.。。学习了~!哈哈
qq88688868 2009-07-29
  • 打赏
  • 举报
回复
自我感觉是 false 因为Integer是包装了 比较的话就是地址比较了 因为两个对象的地址不一样所以输出的应该是false
feelings010 2009-07-25
  • 打赏
  • 举报
回复
领教了,牛B真是多。
feidegenggao1 2009-07-19
  • 打赏
  • 举报
回复
false
ipnu520 2009-07-19
  • 打赏
  • 举报
回复
flase
tonytone2008 2009-05-05
  • 打赏
  • 举报
回复
哇!都是高手啊!呵呵,看来好像只有我一个人猜错了,呵呵,继续学习哟!
wenxianxun 2009-05-05
  • 打赏
  • 举报
回复
菜鸟觉得是false
lianda220 2009-05-04
  • 打赏
  • 举报
回复
来学习
hotzxs 2009-04-26
  • 打赏
  • 举报
回复
有点意思,分享了
kaisa316 2009-04-26
  • 打赏
  • 举报
回复
学习了
加载更多回复(257)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧