黑马程序员技术交流社区
标题:
为什么运行结果会是6?代码是怎么实现的呢
[打印本页]
作者:
凯撒
时间:
2016-1-13 02:25
标题:
为什么运行结果会是6?代码是怎么实现的呢
publicstatic void main(String[] args){
StringBuffer sb =new StringBuffer();
sb.append("qq").append("ww");
show(sb,"ss");
System.out.println(sb.length());
}
staticvoid show(StringBuffer sb,String str){
sb.append(str);
}
作者:
Clouddd
时间:
2016-1-13 12:01
原因在于StringBuffer是个引用类型。。如果还不明白引用类型的话建议你先好好学习好基础。然后回来看这个题就很简单啦。
首先你在sb.append("qq").append("ww");中就等于有了"qqww",然后在方法中再sb.append("ss");由于操作的都是同一个sb,所以就是qqwwss,长度当然为6啊。。
作者:
好好搬砖
时间:
2016-1-13 17:08
StringBuffer是可变的
作者:
499087476
时间:
2016-1-13 18:22
这个问题我不会做!!不会做!!!
作者:
heima7788
时间:
2016-1-13 18:24
把qq,ww,ss都存在sb里了,长度自然是6
作者:
zzh111
时间:
2016-1-13 22:21
你要先弄明白append()是什么意思,然后再了解下StringBuffer()
如果这些都明白了,这个问题很容易就解决了.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2