StringBuffer

来源:互联网 发布:java开发流程图 编辑:程序博客网 时间:2024/05/22 05:23

StringBuffer

就是字符串的缓冲区
 用于存储数据的容器
特点:

 1 长度是可变的。

 2 可以存储不同类型的数据
 4 可以对字符串进行修改

3 最终要转成字符串使用

 * 具备的功能:
 * 1 添加:
 * StringBuffer append(date);
 * StringBuffer insert(offset,date)

public static void main(String[] args) {

bufferMethodDemo_1();
}
public static void bufferMethodDemo_1() {

StringBuffer sb  = new StringBuffer("abce");
sb.insert(2, "qq");
//sb.append("xixi");
System.out.println(sb.toString());
}
public static void bufferMethodDemo(){
//创建缓冲区对象。
StringBuffer sb = new StringBuffer();
sb.append(4).append(false).append("haha");
sb.insert(1,true);
System.out.println(sb);
}
}

 3 最终要转成字符串使用

 * 2 删除:

StringBuffer delete(start,end) 

StringBuffer deleteCharAt(int index) 删除指定位置的元素

3 查找:
* char charAT(index)
* int indexOf(string)
* int lastIndexOf(string)
 4 修改
*  StringBuffer replace(int start,int end,String str)
*  void setCharAT(int index,char ch)
*  增删改查 CURD

 5 setLength(number) 设置长度

 6 //清空缓冲区

sb.delete(0, sb.length());
7 reverse() 反转


jdk1.5以后出现了功能和StringBuffer一模一样的对象StringBuilder
不同的是:
StringBuffer是线程同步的 通常用于多线程
StringBuilder是线程不同步的 通常用于单线程,它的出现是提高效率。

练习:

将一个int数组变为字符串

public class StringBuilderDemo {


public static void main(String[] args) {

int[] arr = {3,1,5,3,8};
String s = arrToString_2(arr);
System.out.println(s);
}

public static String arrToString_2(int[] arr) {

StringBuffer sb = new StringBuffer();
sb.append("[");
for(int i = 0;i<arr.length;i++){
if(i!=arr.length-1)
sb.append(arr[i]+",");
else 
sb.append(arr[i]+"]");
}
return sb.toString();
}


public static String arrToString(int[] arr)
{
String str = "[";
for(int i = 0;i<arr.length;i++){
if(i!=arr.length-1)
str+=arr[i]+",";
else 
str+=arr[i]+"]";


}
return str;

}
}


0 0
原创粉丝点击