1.三种重载构造器的使用案例
//几种重载构造器的使用案例
StringBuilder sb1 =new StringBuilder();//#1
StringBuilder sb2=new StringBuilder("123");//#2
StringBuilder sb3=new StringBuilder(123);//#2
说明:在StringBuilder类重载的三种构造器中都调用了父类abstractStringBuilder重载的构造器,在StringBuilder类重载的三种构造器中传参,实际上都是在指定继承于abstractStringBuilder父类中的char类型数组的长度
#1 :调用StringBuilder类中的空参构造器,在调用abstractStringBuilder父类的构造器时默认传入16,即char类型value数组的长度为16.
#2:调用StringBuilder类中的形参为string类型的构造器,在调用abstractStringBuilder父类的构造器时传入该string类型字符串的长度string.length()+16,即char类型value数组的长度为string.length()+16.
#3:调用StringBuilder类中的形参为int类型的构造器,在调用abstractStringBuilder父类的构造器时传入该int类型数据,即char类型value数组的长度为该int类型数据值.
2.append()方法的使用
说明:对于string类型的字符串,在实现拼接操作时可以使用“+”连接符、concat()方法、join()方法(join()方法用于多个字符串或字符串数组按照指定字符串逐个拼接)
这三个方法的使用都不会改变原字符串,而是返回一个新的字符串(原因基于对string类型字符串在内存中的存储方式的理解,在string、StringBuilder和StringBuffer类的区别一文中已经详细描述,此处不在赘述)
String str="x";
str=str+"a";
str=str.concat("b");
System.out.println(str);
String str1="w";
str=str.join("@", str,str1);
System.out.println(str);
xab
xab@w
StringBuilder类中append()方法的具体使用:在原字符串尾部直接追加一个字符串或字符,改变原字符串
//append()方法的使用
StringBuilder sb =new StringBuilder("天王");
sb.append("盖地").append('虎');
System.out.println(sb);
天王盖地虎
3.replace()方法的使用
说明:string类中replace()方法:将指定原字符串中的子字符串或字符替换为指定的字符串或字符。不会改变原字符串,而是返回一个新的字符串
//string类中replace()方法的使用
String str="天王盖地虎";
str=str.replace("天王", "地霸").replace('虎', '狐');
System.out.println(str);
地霸盖地狐
StringBuilder类中replace()方法的具体使用:将从指定启使下标开始到指定结尾下标(不含尾下标)的子字符串替换为指定字符串。
// replace()方法的使用
StringBuilder sb =new StringBuilder("天王盖地虎");
sb.replace(1, 3, "@@@");
System.out.println(sb);
天@@@地虎
4.delete()方法的使用:将从指定启使下标至指定结尾下标(不含尾下标)的子字符串删除
//delete()方法的使用
StringBuilder sb=new StringBuilder("天王盖地虎");
sb.delete(1, 3);
System.out.println(sb);
天地虎
5.deletecharAt()方法的使用:将指定下标的字符删除
//deletecharAt()方法的使用
StringBuilder sb=new StringBuilder("天王盖地虎");
sb.deleteCharAt(0);
System.out.println(sb);
王盖地虎
6.insert()方法的使用:在指定下标位置插入字符串、字符、布尔值等
//insert()方法的使用
StringBuilder sb=new StringBuilder("天王盖地虎");
sb.insert(3, "@").insert(4, '$').insert(0, true);
System.out.println(sb);
true天王盖@$地虎
7.reverse()方法的使用:将原字符串逆序
//reverse()方法的使用
StringBuilder sb=new StringBuilder("天王盖地虎");
sb.reverse();
System.out.println(sb);
虎地盖王天