A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 夜半风   /  2014-9-4 19:44  /  2595 人查看  /  35 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

郑飞 发表于 2014-9-5 20:04
亲 在此楼层之前 建议只看10楼的答案 其他楼有的错有的没说到点 这种小知识点又不是高级技术讨论 自己要弄 ...

10楼去哪儿了
回复 使用道具 举报

;P被你推荐了 自然就跑前面去了啊
回复 使用道具 举报
郑飞 发表于 2014-9-5 21:22
被你推荐了 自然就跑前面去了啊

我能说不是我推荐的吗 他自己跑到前面去的
回复 使用道具 举报
后面的是创建了两个不同的对象。比如:String s1 = new  String("haha");   String s2 = new  String("haha");    s1与s2实不相等的,因为它们是两个对象
回复 使用道具 举报
Peach2014 发表于 2014-9-5 14:38
Integer a = 127;
这段代码的意思是:我到栈内存中去问:有没有一个值为127的变量啊?如果有,好,那我就 ...

你的回答真形象,真好
回复 使用道具 举报
很多人都很热心帮你,2楼很明显的答案了
回复 使用道具 举报
夜半风 发表于 2014-9-5 22:45
我能说不是我推荐的吗 他自己跑到前面去的

...... 那就不知道了 别纠结这个了 知道答案就好了
回复 使用道具 举报
fouraa 来自手机 中级黑马 2014-9-6 17:46:38
28#
一楼有理
回复 使用道具 举报
a,b的值是在常量池里直取的。是同一个对象。x,y是在堆开辟的新空间,new一次一个对象。SO。。。懂?
回复 使用道具 举报
解释的都很好
回复 使用道具 举报
一个byte取值范围问题
回复 使用道具 举报
碎流 发表于 2014-9-4 21:04
哥们你敢new,它就敢创建两个,服不?   这时候是两个内存地址的对象,而对象==就是比较地址值. ...

你敢这么回答,答案就必须敢对。
回复 使用道具 举报
~~~~~~~~~~~~~~~~~~~~来瞅瞅
回复 使用道具 举报

Integer a=127;//这是往常量池中添加一个,常量数值,而不是给变量a符值,然后把常量池中的这个数值的地址,符给变量a。

Integer b=127;//这一步还是往常量池中添加一个常量,但是如果常量中有这个数值就不填加了,然后把这个数值的地址,符给变量b。
所以a==b就是true了,地址相同吗,127=127用的是同一个数的地址。
而Integer x=new Integer(127);
Integer y=new Integer(127);
是在堆内存中开辟了俩片不同的空间,里边放了俩个,常量池中的地址。
==比较的是地址,俩片堆内存空间的地址当然不相同了。
回复 使用道具 举报
Peach2014 发表于 2014-9-5 14:38
Integer a = 127;
这段代码的意思是:我到栈内存中去问:有没有一个值为127的变量啊?如果有,好,那我就 ...

讲的好生动:loveliness:
回复 使用道具 举报
只要明确写了new,就已经会在堆内存里开辟空间了。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马