StringBuilder是一个可变的字符序列,允许内容的更改,在类中提供了修改私有成员变量的方法,与String不同的是,不仅字符串内容可以更改,字符串的长度也可以变化
StringBuilder构造方法
- StringBuilder():空参构造,默认生成一个大小为16的空字符组
- StringBuilder(String str):使用指定的字符串初始化时,整个StringBuilder对象的长度为str.length() + 16
- StringBuilder(int capacity):通过参数指定数组的大小
- 获取容积的方法:capacity() 获取当前容器的大小
length():获取当前容器的字符的个数
/*** StringBuilder构造方法演示*/public class StringBuilderConstruction {public static void main(String[] args) {// 空参构造StringBuilder str1 = new StringBuilder();System.out.println(str1.capacity());// 16// str1.length() = 0// 传入字符串String s = "你好";System.out.println(s.length()); // 2StringBuilder str2 = new StringBuilder(s);System.out.println(str2.capacity()); // s.length() + 16 = 18System.out.println(str2.length()); // 2// 设定容量StringBuilder str3 = new StringBuilder(4);System.out.println(str3.capacity()); // 4}}
StringBuilder添加功能
append():向StringBuilder对象后面中添加任意类型数据
insert(int index, 任意类型):在指定的位置添加任意类型数据,注意index的取值分为为0—>缓冲区-1
/*** append():在StringBuilder对象之后添加任意类型数据* insert(int index, 任意类型数据) :在指定位置添加任意类型数据,index范围0-->缓冲区-1*/public class StringBuilderAppend_Insert {public static void main(String[] args) {StringBuilder str = new StringBuilder("12");// append()str.append(3);str.append("四");System.out.println(str); // 123四// insert()str.insert(1,"一"); // 1一23四System.out.println(str);}}
StringBuilder删除功能
deleteCharAt(int index):指定删除元素的位置
delete(int start, int end):指定删除从start开始到end-1结束的范围
/*** deleteCharAt(int index):指定删除一个元素* delete(int start, int end):指定删除start到end-1范围内的元素*/public class StringBuilderDelete {public static void main(String[] args) {StringBuilder str = new StringBuilder("012345");// deleteCharAt()str.deleteCharAt(2);System.out.println(str); // 01345// delete()str.delete(1,3);System.out.println(str); // 045}}
StringBuilder修改功能
replace(int start, int end, String str):把start开始到end-1结尾的内容替换为str
reverse():将元数据反转
/*** replace(int start, int end, String str):替换* reserve():反转*/public class StringBuilderReplace_Reserve {public static void main(String[] args) {// replace(int start, int end, String str)StringBuilder str = new StringBuilder("你好世界,你好java"); // 你好world,你好javastr.replace(2,4,"world");System.out.println(str);// reserve()str.reverse();System.out.println(str); // avaj好你,dlrow好你}}
