public class Test {
public static void main(String[] args) {
String str = "sss";
str.replace("s", "d");
System.out.println(str); str = str.replace("s", "g");
System.out.println(str);
str = str.replace("s", "a");
System.out.println(str);
str = str.replace("s", "b");
System.out.println(str);
}
}
结果是sss,ggg,ggg,ggg
首先前两个我明白就是不明白第三个,不是新生了字符串赋予了str了吗为什么还是ggg
public static void main(String[] args) {
String str = "sss";
str.replace("s", "d");
System.out.println(str); str = str.replace("s", "g");
System.out.println(str);
str = str.replace("s", "a");
System.out.println(str);
str = str.replace("s", "b");
System.out.println(str);
}
}
结果是sss,ggg,ggg,ggg
首先前两个我明白就是不明白第三个,不是新生了字符串赋予了str了吗为什么还是ggg
楼主【lhack】截止到2008-07-13 11:24:37的历史汇总数据(不包括此帖):
发帖的总数量:3 发帖的总分数:90 每贴平均分数:30
回帖的总数量:3 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:3 结贴的总分数:90
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
在这一句的时候,str所指向的对象已经改变了--ggg.
所以,以后的替换的字符串里已经没有s了,所以还是输出原对象ggg.