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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  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);
复制代码

我想知道为什么字符串中的内容没有被替换掉呢

2 个回复

倒序浏览
本帖最后由 Frankle 于 2016-7-22 18:42 编辑

for循环语句里面的语句应该改成str = str.replace(nums,cns);替换后的字符串实际上的是一个新的String对象,想让str变成替换后的字符串,那么应该使str指向替换后的字符串,即str = str.replace(oldchar,newchar);
回复 使用道具 举报
Frankle 发表于 2016-7-22 18:35
for循环语句里面的语句应该改成str = str.replace(nums,cns);替换后的字符串实际上的是一个新的String对象 ...

虽然还没试验,不过应该是这样,哈哈,谢啦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马