StringBuffer
- 字符串,final修饰的,不能被继承。值可变。线程安全的,效率低
- 多线程下,大量的修改字符串操作
StringBudder
-
字符串,final修饰的,不能被继承。值可变。线程不安全的,效率高
-
单线程下,大量的修改字符串操作
-
StringBuffer中的方法都是加了synchronized修饰的,表示线程安全
-
StringBuffer中的修改操作最终返回的结果都是StringBuffer类型的
-
StringBuilded中修改操作最终返回的结果都是StringBuilded类型的
-
默认无参构造的对象长度是16个
StringBuffer();//无参构造,默认16长度 StringBuffer(int n);//n长度的构造 StringBuffer(“abc”);//返回参数对应的值的对象 public void test03() { StringBuffer str = new StringBuffer(16); StringBuilder sb = new StringBuilder(15); sb.append("sdsdfs");//后面追加 int n = sb.compareTo(new StringBuilder("sdsdfs"));//比较大小 StringBuilder delete = sb.delete(1, 3);//删除从下标到下标的字符 delete.deleteCharAt(5);//删除指定位置的字符 delete.indexOf("sdf");//判断参数所在的下标 delete.replace(1,3,"sd");//从下标到下标替换为参数 delete.reverse();//翻转 delete.capacity();//返回容量 delete.charAt(0);//返回指定位置的字符 delete.isEmpty();//判空 delete.length();//长度 delete.substring(1);//截取 System.out.println(sb); } }