package day13;
/*
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 deleteCharAt(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 dstBegin)
JDK1.5 版本之后出现了StringBuilder.
StringBuffer是线程同步。 当多线程的时候就使用StringBuffer
StringBuilder是线程不同步。 当是单线程的时候使用StringBuilder
以后开发,建议使用StringBuilder
升级三个因素:
1,提高效率。
2,简化书写。
3,提高安全性。
*/
public class StringBufferDemo10 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
StringBuffer sb=new StringBuffer("abcdefjhe");
//追加
//sb.append(true);
// 插入
//sb.insert(3, "hello");
// 删除
//sb.delete(2, 3);
// 删除指定位置上数据
// sb.deleteCharAt(1);
//System.out.println(sb.toString());
//获取指定位置上的 字符
//char c=sb.charAt(2);
//获取指定字符的索引
//int i=sb.indexOf("3");
//System.out.println(i);
//获取截取的子串
//String str=sb.substring(3);
// 替换 指定长度的字符串
// StringBuffer sb1=sb.replace(1, 4, "12232425");
//System.out.println(sb1);
// 字符串的反转
//StringBuffer sb2=sb.reverse();
//System.out.println(sb2);
/*将缓冲区中指定数据存储到指定字符数组中。
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) */
char[] c=new char[sb.length()];
sb.getChars(0, c.length, c, 0);
for (int i = 0; i < c.length; i++) {
System.out.println("c["+i+"]="+c[i]);
}
}
}
StringBuffer类的总结
最新推荐文章于 2023-03-06 12:00:00 发布