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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小地瓜   /  2015-11-13 18:23  /  5509 人查看  /  68 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

选D,“abc”在内存中占用了地址值,而new String("abc");在内存中又开了一个内存,多了另外的地址值,==号判断的是地址值,故不相等。。而“你好吗”这个字符串的引用s3,s4想加又是另外一回事,他们调用了StringBuffer缓存区来进行想加,那么地址值跟s5相比也就不一样了
回复 使用道具 举报
yubail 中级黑马 2015-11-20 10:36:13
42#
我只是来顶帖的
回复 使用道具 举报
选D
但是两个字符串变量相加返回是什么呢
回复 使用道具 举报
D   这里比较的均是地址值,多以都返回false
回复 使用道具 举报
秒选,D
回复 使用道具 举报
选D
第一题  一个指向变量池一个指向堆里的地址
第二题 虽然都指向变量池但S3里的S4S5是变量不确定
回复 使用道具 举报
mlxg 中级黑马 2015-11-20 17:19:02
47#
选D。具体的你去看看老师的视频,我不擅长表达
回复 使用道具 举报
选D  都是false
回复 使用道具 举报
c,s1与s2对应的地址值是相同的,s3与s4对应不是一个对象,地址值不同
回复 使用道具 举报
66666666666666666666666666
回复 使用道具 举报
............................................
回复 使用道具 举报
D,第二个是变量相加
回复 使用道具 举报
zqiang 中级黑马 2015-11-20 21:51:06
53#
选D.==比较的是地址值.
回复 使用道具 举报
答案应该是 D:
  String s1 = “abc”;       //"abc", 存放在常量池中,s1的地址也指向常量池;
  String s2 = new String(“abc”);     // new出来的是一个地址,"abc"常量也是一个地址,这里同事创建了两个对象;
  System.out.println(s1==s2);
  因为是两对象  比较的是地址,所以是false

String s3 = “你好吗”;
  String s4 =”你”;
  String s5 =”好吗”;
  System.out.println(s3==(s4+s5))
S3是常量   而S4+S5是引用类型,传递的是地址值
引用类型跟常量比较肯定是false  
回复 使用道具 举报
不会咋办!!!!!!!!!!!!!!
回复 使用道具 举报
一江夜雨 发表于 2015-11-20 22:51
答案应该是 D:
  String s1 = “abc”;       //"abc", 存放在常量池中,s1的地址也指向常量池;
  String s ...

给赞!给赞!给赞!给赞!给赞!
回复 使用道具 举报
答案是c
回复 使用道具 举报
半指流沙 发表于 2015-11-20 21:24
............................................

结婚了?
回复 使用道具 举报

慢慢来,慢慢会的
回复 使用道具 举报
森然 中级黑马 2015-11-21 22:29:08
60#
b ........好火 
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马