黑马程序员技术交流社区

标题: 一个关于字符串的replace()方法的问题 [打印本页]

作者: y506798278    时间: 2016-7-22 17:20
标题: 一个关于字符串的replace()方法的问题
  1. String  str = "129873478123578";
  2.                 char[] nums = {'0','1','2','3','4','5','6','7','8','9'};
  3.                 char[] cns = {'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
  4.                
  5.                 for(int i = 0; i < 10; i++) {
  6.                         str.replace(nums[i], cns[i]);
  7.                 }       
  8.                 System.out.println(str);
复制代码

我想知道为什么字符串中的内容没有被替换掉呢
作者: Frankle    时间: 2016-7-22 18:35
本帖最后由 Frankle 于 2016-7-22 18:42 编辑

for循环语句里面的语句应该改成str = str.replace(nums,cns);替换后的字符串实际上的是一个新的String对象,想让str变成替换后的字符串,那么应该使str指向替换后的字符串,即str = str.replace(oldchar,newchar);

作者: y506798278    时间: 2016-7-22 20:09
Frankle 发表于 2016-7-22 18:35
for循环语句里面的语句应该改成str = str.replace(nums,cns);替换后的字符串实际上的是一个新的String对象 ...

虽然还没试验,不过应该是这样,哈哈,谢啦




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2