package StringBufferDemo;
public class StrinBuilderDemo {
// 1.使用StringBuilder 比StringBuffer效率高,线程不安全
// 2.如果要求线程安全就使用StringBuffer,这两个类的方法都一样
/*
1. append(要添加的字符串) 字符串追加
2. insert(starteIndex,要插入的字符串) 指定位置插入字符串
3. delete(starteIndex,endIndex(不包含)) 删除指定范围的字符
4. reverse(字符串对象) 将字符串反转
5. replace(starteIndex,endIndex(不包含), 要替换的字符串) 将指定子串的字符替换掉
6. setCharAt(Index,要替换的字符) 替换掉指定索引的字符
7. setLength(int n) 设置字符串长度
8. CharSequence subSequence(int start, int end(不包含)) 返回一个指定范围的子序列,CharSequence的值是可读可写序列
9. String substring(int start , int end) 返回一个指定范围的子序列,String的值是只读序列。
10. int capacity() 返回字符串的容量,默认长度为16个容量,如果数据超出,容量自动增长为(容量*2+2)
*/
public static void main(String[] args) {
// 1. append(要添加的字符串) 字符串追加
StringBuilder builder1 = new StringBuilder();
builder1.append("abcd");
builder1.append("ef");
System.out.println(builder1);//abcdef
// 2. insert(starteIndex,要插入的字符串) 指定位置插入字符串
builder1.insert(2,"ccccc");
System.out.println(builder1);//abccccccdef
// 3. delete(starteIndex,endIndex(不包含)) 删除指定范围的字符
builder1.delete(2,7);
System.out.println(builder1);//abcdef
// 4. reverse(字符串对象) 将字符串翻转
StringBuilder builder2 = builder1.reverse();
System.out.println(builder2);//fedcba
System.out.println(builder1);//fedcba
// 5. replace(starteIndex,endIndex(不包含), 要替换的字符串) 将指定子串的字符替换掉
builder1.replace(0,2,"abcd");
System.out.println(builder1);//abcddcba
// 6. setCharAt(Index,要替换的字符) 替换掉指定索引的字符
builder1.setCharAt(1,'c');
System.out.println(builder1);//accddcba
// 7. setLength(int n) 设置字符串长度
System.out.println(builder1.length());//8
builder1.setLength(10);
System.out.println(builder1);//accddcba空格空格
System.out.println(builder1.length());// 8
builder1.setLength(6);
System.out.println(builder1);//accddc
System.out.println(builder1.length());//6
// 8. CharSequence subSequence(int start, int end(不包含)) 返回一个指定范围的子序列,CharSequence的值是可读可写序列
CharSequence cs = builder1.subSequence(0,3);
System.out.println(cs);//acc
// 9. String substring(int start , int end) 返回一个指定范围的子序列,String的值是只读序列。
String str3 = builder1.substring(0,3);
String str4 = builder1.substring(0);
System.out.println(str3);//acc
System.out.println(str4);//accddc
// 10. int capacity() 返回字符串的容量,默认长度为16个容量,如果数据超出,容量自动增长为(容量*2+2)
int n1 = builder1.capacity();
System.out.println(n1);//16
System.out.println(builder1);//accddc
System.out.println(builder1.length());//6
int n2 = builder1.append("加加加加加加加加加加加").capacity();
System.out.println(n2);//34
System.out.println(builder1);//accddc加加加加加加加加加加加
System.out.println(builder1.length());//17
}
}
Java StringBuilder和StringBuffer的使用方法
最新推荐文章于 2024-11-15 18:38:47 发布