一、StringBuilder()
1、StringBuilder();空参数的构造,创建一个原始内容为空的字符串生成器,初始容量为16个字符
2、StringBuilder的获取缓冲区的方法:capacity()
3、StringBuilder(int capacity);创建一个生成器,初始缓冲区为capacity大小
4、StringBuilder(String str);创建一个生成器,初始值就是str这些字符,初始大小是str.length()+16。
public class Demo01_sb {
public static void main(String[] args) {
StringBuilder sb1 = new StringBuilder();
System.out.println(sb1.capacity());
StringBuilder sb2 = new StringBuilder(127);
System.out.println(sb2.capacity());
StringBuilder sb3 = new StringBuilder("abc");
System.out.println(sb3.capacity());
}
}
输出结果:16 127 19
二、(添加功能)
1、StringBuilder append(任意数据类型);将参数转换成字符串,添加到缓冲区中的末尾
2、StringBuilder insert(int index, 任意数据类型的数据);将第二个参数的数据,转成字符串,插入到当前对象的index索引。index最小不能小于0,最大不能超过当前缓冲区中的字符个数,不能让缓冲区中前面的部分有空隙。插入数据之后数据本身的索引就是参数中指定的index。
public class Demo02_stringBuilderAppend {
public static void main(String[] args) {
test1_append();
}
private static void test1_append() {
StringBuilder sb = new StringBuilder();
sb.append(97);
System.out.println(sb);
sb.append(666);
System.out.println(sb);
sb.append(1).append(2);
System.out.println(sb);
}
}
输出结果:97 97666 9766612
public class Demo02_stringBuilderAppend {
public static void main(String[] args) {
//test1_append();
test2_insert();
}
private static void test2_insert() {
StringBuilder sb = new StringBuilder();
sb.insert(0, 123456);
System.out.println(sb);
sb.insert(2, "abc");
System.out.println(sb);
}
}
输出结果:123456 12abc3456
三、删除功能
1、StringBuilder deleteCharAt(int index)
删除指定索引的字符
2、StringBuilder delete(int start, int end)
删除指定索引范围的字符,删掉的内容,包含索引为start的字符,不包含索引end的字符
public class Demo03_ {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("abcdefg");
sb.deleteCharAt(0);
System.out.println(sb);
sb.delete(0, 2);
System.out.println(sb);
}
}
运行结果:bcdefg defg
四、替换和反转
1、replace(int start,int end,String str);
把字符串缓冲区中的从索引为start开始到end-1这部分内容,替换成str。
2、reverse();
将原有的字符序列进行反转。
public class Demo04_ {
public static void main(String[] args) {
test1_replace();
}
private static void test1_replace() {
StringBuilder sb = new StringBuilder("HelloWorld");
sb.replace(5, 10, "Java");
System.out.println(sb);
}
}
运行结果:HelloJava
public class Demo04_ {
public static void main(String[] args) {
//test1_replace();
test2_reverse();
}
private static void test2_reverse() {
StringBuilder sb = new StringBuilder("abcdefg");
sb.reverse();
System.out.println(sb);
}
}
运行结果:gfedcba