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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

主函数中的打印结果跟自己想的不一致。
回复 使用道具 举报
汗,就帖两段代码什么意思??
回复 使用道具 举报
内存引用的问题吧
回复 使用道具 举报
想看看答案 回复个先
回复 使用道具 举报
fantacyleo 发表于 2014-8-10 01:38
1. StringBuffer内部有一个字符数组,而数组存在于堆内存中的。所以

是的。。。所以说之前说的不够严谨。。。。
回复 使用道具 举报
张周飞 发表于 2014-8-10 10:08
骚年:我来学习来了.........

哥们入学了吗?

我传智快结束了。。目前不知道能不能赶得上这一次43期呢。。。
回复 使用道具 举报
左脑想你 来自手机 中级黑马 2014-8-11 08:14:54
47#
看看答案跟自己想的一样不
回复 使用道具 举报
本帖最后由 nxp1986 于 2014-8-11 08:35 编辑

我也看看答案,其实第一道还是比较容易理解的,就是堆内存中相互赋值然后,s2=s1就是像楼上说的那么多一样,所以输出s2肯定是 hellojava。
因为已经赋值了,所以s2.append(s1)其实就是在赋值完以后再添加s1.所以结果就是输出两次hellojava.

第二道题确实有点晕,s1=s2的时候,画个图应该比较容易理解,s1.append(s2)只是单纯的在s1里面添加s2的元素,没有从新指向。
而当s1=s2的时候s1直接指向了s2,所以输出的是s2的内容。因为s1已经指向了s2,也就是说内存中的地址是一样的,所以当s2.append(s1)的时候,必须输出的是javajava了。
回复 使用道具 举报
侯岩卿 来自手机 中级黑马 2014-8-11 08:39:15
49#
看看答案和我想的一样不一样
回复 使用道具 举报
烟海 发表于 2014-8-10 23:30
哥们入学了吗?

我传智快结束了。。目前不知道能不能赶得上这一次43期呢。。。 ...

传智怎么样??怎么不上黑马视频辅导班呢?
回复 使用道具 举报
张周飞 发表于 2014-8-11 09:02
传智怎么样??怎么不上黑马视频辅导班呢?

当时想上7.5号的视频培训班的。。结果我报名的时候已经满了。。。

然后没办法,想想自学的进度太慢,就来传智上基础班了。。7.15开课的。。8.24结课。。。所以不知道赶不敢的及8.30这一期的安卓班呢。。。

而且传智基础班学的东西很少。好多都没学。。
回复 使用道具 举报
nxp1986 发表于 2014-8-11 08:21
我也看看答案,其实第一道还是比较容易理解的,就是堆内存中相互赋值然后,s2=s1就是像楼上说的那么多一样 ...

第一题的s1输出的是java ..不是两次hellojava 。。。。亲。。仔细看看题目吧 。。。
回复 使用道具 举报
看下答案
回复 使用道具 举报
s1---hellojava
s2---hellojava
s2---javahellojava
s1---javahellojava
=============
hello
java
回复 使用道具 举报
这时候修改后的s2和传进来的s2已经失去了联系

为什么失去联系?  这个求解释一下。
回复 使用道具 举报
希望没画错:)

StringBufferDemo3内存图.png (105.4 KB, 下载次数: 16)

根据楼主的 答案做的内存图

根据楼主的 答案做的内存图
回复 使用道具 举报

基本没问题。。画的很好。。。
这个内存图。。我都不一定画的出来。。。。
回复 使用道具 举报
kakasa 发表于 2014-8-11 14:12
这时候修改后的s2和传进来的s2已经失去了联系

为什么失去联系?  这个求解释一下。 ...

因为是StringBuffer,在常量池中。。。。把s1的值赋给s2, 而且String类型的值,一旦被初始化,就不能被改变,所以s2的值不会改变。。。。
这时候只会把s2也指向s1 修改了地址的指向地址。。。
所以那时候s1 s2都指向同一个常量池。。。。
这时候和传入进来的s2已经断开了联系。。。
回复 使用道具 举报
烟海 发表于 2014-8-11 12:35
当时想上7.5号的视频培训班的。。结果我报名的时候已经满了。。。

然后没办法,想想自学的进度太慢,就 ...

看你这架势  一定能上!!!每天去教堂给你祈祷  愿上帝与你同在 愿你能上....
回复 使用道具 举报
张周飞 发表于 2014-8-11 16:00
看你这架势  一定能上!!!每天去教堂给你祈祷  愿上帝与你同在 愿你能上.... ...

因为24号才结课。。而高新什么都还没看。。。。最近一边要赶进度。。一边还要看这边上课的内容。。。

所以有点耽误时间。。。。不过这样前面的东西。掌握的都还挺不错。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马