在我做到要指定替换空格为%20的题目的时候,看见了这种解法,以此记录。
常用方法:
Append
将文本或者字符串追加到指定对象的末尾
AppendFormat
自定义变量的格式并将这些值追加StringBuilder对象的末尾
Insert
将字符串或者对象添加到当前StringBuilder对象中的指定位置
Remove
从当前StringBuilder对象中移除指定数量的字符
Replace
用另一个指定的字符来替换StringBulider对象内的字符
StringBuilder sb = new StringBuilder();
//使用前我们需要新建一个对象
public class L524 {
public static void main(String[] args) {
StringBuilder stringBuilder = new StringBuilder("123");
System.out.println(stringBuilder.length());
//3
//输出字符串内的长度
stringBuilder.append("abcde");
System.out.println(stringBuilder);
//123abcde
//在源字符串后通过append拼接字符串
stringBuilder.appendCodePoint(97);
System.out.println(stringBuilder);
//123abcdea
//97是a的ascill马值,用appendCodePoint来进行拼接
stringBuilder.append(1).append(2).append(3);
System.out.println(stringBuilder);
//123abcdea123
//append可以使用点号来拼接使用
stringBuilder.delete(0,3);
System.out.println(stringBuilder);
//abcdea123
//0代表第一个字符,3代表第三个字符,delete可以将之间的字符进行删除。
stringBuilder.replace(0,3,"123");
System.out.println(stringBuilder);
//123dea123
//用来替换中间的字符为str
//如果起始和末尾都是0的话,会在最前面添加str字符而不是替换
//stringBuilder.replace(0,3,"123");
//System.out.println(stringBuilder);
//123abcdea123
stringBuilder.insert(0,0);
System.out.println(stringBuilder);
//0123dea123
//在指定的位置加入数字或者字符串
char []arr = {'1','2','3','4','5','6'};
System.out.println(arr);
//123456
System.out.println(Arrays.toString(arr));
//[1, 2, 3, 4, 5, 6]
stringBuilder.getChars(0,3,arr,3);
System.out.println(stringBuilder);
//不变
System.out.println(arr);
//123012
System.out.println(Arrays.toString(arr));
//[1, 2, 3, 0, 1, 2]
//getchars可以帮助我们把指定位置的字符串拼接到一个字符数组上
stringBuilder.setCharAt(1,'-');
System.out.println(stringBuilder);
//0-23dea123
//在指定位置进行替换成某一个char类型的数据
String num =stringBuilder.toString();
System.out.println(num);
//可以把stringbulider类型转换成string类型
}
}