StringBUilder的容量问题
长度:代表实际存储的元素个数
容量:代表的是底层封装的字符数组的大小
1.初始容量问题:
-如果创建的是无参的StringBuilder对象,则容量为16
-如果创建的是有参的StringBuilder对象,则容量为16+参数长度
2.扩容问题:
-当容量不够存储元素数量时,会产生扩容。扩容算法为:原容量*2+2
-当一次追加得元素个数超过了扩容一次后的容量,那么容量==该字符串长度
public class StringBuilderMethod {
public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);
/*
insert(int,任意类型)方法:插入
delete(int start,int end):删除
replace(int start,int end,String s):替换
reverse():字符串的反转
*/
StringBuilder s1 = new StringBuilder("JAVA");
//1.append()追加
s1.append("com");
System.out.println(s1);//JAVAcom
System.out.println("--------");
//2.insert(int,任意类型)方法:插入
s1.insert(0,"I LOVE ");
System.out.println(s1);//I LOVE JAVAcom
System.out.println("--------");
//3. delete(int start,int end):删除
s1.delete(11,14);
System.out.println(s1);//I LOVE JAVA
System.out.println("--------");
//4.replace(int start,int end,String s):替换
s1.replace(2,6,"LIKE");
System.out.println(s1);//I LIKE JAVA
System.out.println("--------");
//5.reverse():字符串的反转
s1.reverse();
System.out.println(s1);//AVAJ EKIL I
System.out.println("--------");
/*
2.案例:
-用户输入一个字符串
-使用StringBuilder完成字符串反转
*/
System.out.println("输入一个字符串:");
String str =scanner.nextLine();
StringBuilder st1 = new StringBuilder(str);
System.out.println(st1);
st1.reverse();
System.out.println(st1);