- 与String类最大的不同在于这两个类可以对字符串进行修改,内部同样以字符数组存储数据。
- StringBuilder相较StringBuffer来说速度较快,多数情况下使用StringBuilder,但是StringBuilder的方法不是线性安全的(不能同步访问),所以在应用程序要求线程安全的情况下,必须使用StringBuffer。
- 常用方法一样,下面以StringBuilder为主介绍其常用方法
1. 构造方法
StringBuilder str1 = new StringBuilder();
StringBuilder str2 = new StringBuilder("mary");
2. 增删改查
//增
//在末尾
str1.append("She");
str1.append("is");//str1 = "sheis"
//指定位置插入()
str1.insert(3, " ");//str1 = "she is"
// 删(左闭右开)
// delete(int start, int end)
str2.delete(0, 2); //str2 = "ry"
// 删除指定索引处字符
str2.deleteCharAt(1);//str2 = "r"
// 改
// 替换某一段字串,左闭右开
// replace(int start, int end, String str)
str1.replace(0, 3, "He");//str1 = "He is"
// 按照索引替换
str1.setCharAt(3, 'I');//str1 = "He Is"
//查
System.out.println(str1.charAt(3));
3. 获取长度(实际字符个数)
int capacity1 = str1.capacity();
4. 获取容量(开辟空间大小)
int len = str1.length();
5. 字符串反转
str1.reverse();