StringBuffer是字符串缓冲区,是一个容器。
特点:
1、长度是可以变化的。
2、可以操作多个数据类型。
3、最终会通过toString方法变成字符串。
C->create U->update R->read D->delete
1、存储
StringBuffer append():将指定数据作为参数添加到已有数据结尾处。
StringBuffer insert(index,数据):可以将数据插入到指定index位置。
2、删除
StringBuffer delete(start,end):删除缓冲区中的数据,包含start,不包含end。
StringBuffer delteCharAt(index):删除指定位置的字符。
3、获取
char charAt(int index)
int indexOf(String str)
int lastIndexOf(String str)
int length()
String substring(int start,int end)
4、修改
StringBuffer replace(start,end,string)
void setCharAt(int index,char ch)
5、反转
StringBuffer reverse()
6、将缓冲区中指定数据存储到指定字符数组中
StringBuillder 是线程不同步
开发建议使用StringBuillder
特点:
1、长度是可以变化的。
2、可以操作多个数据类型。
3、最终会通过toString方法变成字符串。
C->create U->update R->read D->delete
1、存储
StringBuffer append():将指定数据作为参数添加到已有数据结尾处。
StringBuffer insert(index,数据):可以将数据插入到指定index位置。
2、删除
StringBuffer delete(start,end):删除缓冲区中的数据,包含start,不包含end。
StringBuffer delteCharAt(index):删除指定位置的字符。
3、获取
char charAt(int index)
int indexOf(String str)
int lastIndexOf(String str)
int length()
String substring(int start,int end)
4、修改
StringBuffer replace(start,end,string)
void setCharAt(int index,char ch)
5、反转
StringBuffer reverse()
6、将缓冲区中指定数据存储到指定字符数组中
void getChars(int srcBegin,int srcEnd,char[] dst,int dstBein)
StringBuffer 是线程同步StringBuillder 是线程不同步
开发建议使用StringBuillder
Java升级的三个因素:提高效率、提高安全性、简化书写
代码:
public class code
{
public static void main(String[] args) {
method_add();
method_del();
method_upd();
}
public static void method_add() {
StringBuffer sb = new StringBuffer();
sb.append("abc").append(true).append(666);//方法调用链:一连串的调用。面盆理论
sb.insert(1, "str");
sop(sb.toString());
}
public static void method_del() {
StringBuffer sb = new StringBuffer("abcdac");
sb.delete(1, 3);
sb.deleteCharAt(2);//删除c
sb.delete(0, sb.length());//清空缓冲区
sop(sb.toString());
}
public static void method_upd() {
StringBuffer sb = new StringBuffer();
sb.replace(1, 4, "Java");
sb.setCharAt(2, 'k');
sop(sb.toString());
}
public static void sop(Object obj) {
System.out.println(obj);
}
}