public final class StringBuffer
线程安全,可变的字符序列。 字符串缓冲区就像一个String ,但可以修改。
StringBuffer的构造方法:
StringBuffer() 构造一个没有字符的字符串缓冲区,初始容量为16个字符。
StringBuffer(int capacity) 构造一个没有字符的字符串缓冲区和指定的初始容量。
StringBuffer(String str) 构造一个初始化为指定字符串内容的字符串缓冲区。
StringBuffer的方法:
public int capacity() 返回当前容量。容量是新插入字符可用的存储量,超过此值将进行分配。
public int length() 返回长度(字符数)。
添加功能
public StringBuffer append(String str)
可以把任意类型的数据添加到字符串缓冲区中
返回的是当前字符串缓冲区本身
删除功能
public StringBuffer deleteCharAt(int index)
删除char在这个序列中的指定位置。返回的内容是本身
public StringBuffer delete(int start,int end)
删除此序列的子字符串中的字符。子串开始于指定start并延伸到字符索引end - 1
或如果没有这样的字符存在的序列的结束。 如果start等于end ,则不作任何更改。
替换功能
public StringBuffer replace(int start,int end,String str)
用指定的String中的字符替换此序列的子字符串中的String 。
子串开始于指定start并延伸到字符索引end - 1 ,如果没有这样的字符存在的序列的结束。
第一子串中的字符被去除,然后指定String被插入在start 。(如果需要,此序列将被延长以容纳指定的字符串。)
反转功能
public StringBuffer reverse()
导致该字符序列被序列的相反代替。如果序列中包含任何替代(替换)对,则将它们视为单个字符进行反向操作。
截取功能
String substring(int start)
返回一个新的 String ,其中包含此字符序列中当前包含的字符的子序列。
String substring(int start, int end)
返回一个新的 String ,其中包含此序列中当前包含的字符串的子序列。
String和StringBuffer的相互转换
String--->StringBuffer
通过构造方法转换 StringBuffer sb = new StringBuffer(s);
通过StringBuffer的append()方法 StringBuffer sb = new StringBuffer();sb.append(s);
StringBuffer--->String
通过调用StringBuffer的toString()方法
StringBuffer sb = new StringBuffer(); String s = sb.toString();
通过String的构造方法,将StringBuffer作为参数传入
StringBuffer sb = new StringBuffer();String s = new String(sb);
String,StringBuffer,StringBuilder的区别
String的内容不可变,而StringBuffer和StringBuilder的内容是可变的
StringBuffer是同步线程安全的,数据安全,效率低
StringBuilder是不同步的,线程不安全,数据不安全,效率高
StringBuffer和数组的区别
两个都可以被看作是一个容器,装一些数据
StringBuffer里面的数据都是字符串数据
数组可以存放不同数据类型的数据,但是同一个数组只允许存放同一类型的数据
参数传递
String作为参数传递
传递的是值,对外面本身变量的值没有任何影响。
StringBuffer作为参数传递
只有当谁有操作的时候,那个StringBuffer才会变化
Arrays:
针对数组进行操作的工具类。提供了排序,查找等功能。
Arrays类常用的方法
public static String toString(int[] a)] (参数有很多种类型以整型数组为例)
返回指定数组的内容的字符串表示形式。
public static void sort(int[] a)
按照数字顺序排列指定的数组。
public static int binarySearch(int[] a,int key)
使用二叉搜索算法(有序数组)搜索指定的int数组的指定值。 a - 要搜索的数组;key - 要搜索的值



