黑马程序员技术交流社区
标题:
一个关于字符串的replace()方法的问题
[打印本页]
作者:
y506798278
时间:
2016-7-22 17:20
标题:
一个关于字符串的replace()方法的问题
String str = "129873478123578";
char[] nums = {'0','1','2','3','4','5','6','7','8','9'};
char[] cns = {'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
for(int i = 0; i < 10; i++) {
str.replace(nums[i], cns[i]);
}
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