StringBuilder 类型的字符串是动态可修改的,而String中的字符串是不可修改的。
注意:每次 string 调用replace方法,都是通过返回一个新的字符串,而不是改变原有字符串的,而StringBuilder是可直接修改本身的。
String s1="lalla";
String s2=s1.replace('l', 'a');
if(s1.equals(s2)){
System.out.println("s1.equals(s2)");
}
else{
System.out.println("s1不等于s2");
}
这里将打印 s1不等于s2 。
字符串之间的相加也是通过返回一个新串,而不会是在原有基础上相加。
StringBuilder常用的方法是
append(int ,boolean,char,String...) 表示在原有字符串后加上一个数据,
toString() 方法 表示返回原有数据,
subString(int start,int end) 表示返回原有字符串的一部分[start,end)
sb.replace(start, end, str); 替换[start,end)为str字符串, 并且返回StringBuilder,这样做是为了简化代码,可以接着操作,把原来的StringBuilder也修改了。