| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1186 人关注过本帖
标题:[讨论] 一道String的问题
只看楼主 加入收藏
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
收藏
得分:0 
果然str2是new出来的...是不是凡是字符串相加都是会new一个stringBuilder来一个个append呀?

我在说's blog   http://www..cn
2007-02-15 08:51
Java
Rank: 1
等 级:新手上路
帖 子:718
专家分:0
注 册:2007-1-29
收藏
得分:0 
以下是引用Eastsun在2007-2-14 23:13:09的发言:
str1是在内存池没错,但str2不是~
你用个反编译工具反编译一下class文件就会发现
str2 =str1+"lo";
实际上是:
str2 = (new StringBuilder()).append(str2).append("lo").toString();
显然,str2是new出来滴(不信去看看StringBuilder的源代码),so...

高手


Java,My Love!
2007-02-15 09:37
shylock424
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-1-5
收藏
得分:0 
以下是引用Eastsun在2007-2-14 23:13:09的发言:
str1是在内存池没错,但str2不是~
你用个反编译工具反编译一下class文件就会发现
str2 =str1+"lo";
实际上是:
str2 = (new StringBuilder()).append(str2).append("lo").toString();
显然,str2是new出来滴(不信去看看StringBuilder的源代码),so...

长见识了
感觉这年头牛人真多
j2se板块里有好几个高手哦
多学习了


路遥知马力?日久见人心
2007-02-22 01:24
lxx2844
Rank: 1
等 级:新手上路
威 望:2
帖 子:129
专家分:0
注 册:2006-12-5
收藏
得分:0 

我的理解方法是:String是在长量池中是不可改变的,即便是连接上,他还是比较的原先的;若是一定要比较应该用StringBuffer()方法;不知道对不对。


www./ Bst Love java!
2007-02-26 00:03
しΟν∈→鱈
Rank: 1
等 级:新手上路
威 望:2
帖 子:369
专家分:0
注 册:2006-10-25
收藏
得分:0 
把堆和栈认识下就清楚了....
栈是可共享的  堆是不共享的....

开开心心的过&玩每一天!!!!
2007-02-26 14:11
喃瑟
Rank: 1
等 级:新手上路
威 望:1
帖 子:472
专家分:0
注 册:2007-1-25
收藏
得分:0 
好久不来了,这是字符串的堆和引用的原故。。

光与影的1/2
2007-02-26 14:15
疯仁一踩
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2007-2-24
收藏
得分:0 
都是高手
不过我以前学C的时候堆栈就是我的弱相``
不知道的老是不求甚解了`
那为老兄能介绍一下最好了

2007-02-26 17:47
快速回复:[讨论] 一道String的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022190 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved