string

dog 2005-12-29 09:06:37
书上说java将字符串有两类String & StringBuffer.对于string,在程序运行时值没有任何方法改变它.下面的代码如何解释?string_a不是通过它自己的方法改变了吗?


String string_a = "aaaaaaa ";

string_a = string_a.replace('a','b');
...全文
55 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
f_acme 2005-12-29
  • 打赏
  • 举报
回复
public String replace(char oldChar,char newChar)
返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 而生成的。
如果 oldChar 在此 String 对象表示的字符序列中没有出现,则返回对此 String 对象的引用。否则,创建一个新的 String 对象,用来表示与此 String 对象表示的字符序列相等的字符序列,除了每个出现的 oldChar 都被一个 newChar 替换之外。

所以对于原来的字符串还是没有改变的。
Darkay_Lee 2005-12-29
  • 打赏
  • 举报
回复
string_a是对象的应用,它的replace方法,返回一个新的对象,然后string_a指向此新对象。
理解的关键是你知道String a,a不是一个对象,而是一个对象引用变量,甘你就可以理解整个事情了。
稽姬 2005-12-29
  • 打赏
  • 举报
回复
哪本书?学习……

62,626

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧