public static void main(String[] args) {
StringBuffer stringBuffer = new StringBuffer("aaa");
String s = new String();
StringBuilder stringBuilder = new StringBuilder("aaaaaaa");
s="abaa";
stringBuilder.substring(0,0);
stringBuffer.substring(0,0);
s.substring(0,0);
stringBuilder.replace(0,0,"a");
stringBuffer.replace(0,0,"b");
String replace = s.replace("a", "b");
System.out.println(s);
System.out.println(replace);
}
三者的subString方法效果相同,s.subString(i,j);为左闭右开区间[i,j)
StringBuffer,StringBuilder的replace方法效果相同,s.replace(i,j,"aaa"),均为左闭右开,
而string.replace("old","new");是把string中的“old”换成“new”
并且,StringBuffer,StringBuilde为可变类型,String为不可变类型。
ps:
stringBuffer.subString()等方法,如果是stringBuffer.subString(0,0);则什么也截取不到,stringBuilder也同理,并且replace方法和subString方法也是一样的效果。