第二节、StringBuffer
StringBuffer定义了下面三个构造函数:
StringBuffer() // 默认构造函数,预留了16个字符的空间,该空间不需再分配
StringBuffer(int size) // 设置指定缓冲区大小
StringBuffer(String str) // 设置StringBuffer对象初始化的内容并预留16个字符空间,且不需再分配空间
* int length()
调用length()方法可以得到StringBuffer对象的长度,调用capacity()可以得到总的分配容量。两个方法都是返回一个int类型的值。
* void ensureCapacity(int capacity)
如果想在构造StringBuffer对象后为某些字符预分配空间,可以使用ensureCapacity()方法,设置缓冲区的大小,这在事先已知要在StringBuffer上追加大量小字符串的情况下是有用的。ensureCapcity()方法具有如下的一般形式: void ensureCapacity(int capacity)
* void setLength(int len)
使用setLength()方法可以设置StringBuffer对象的长度,它的一般形式如下:
void setLength(int len) 如果len大于StringBuffer对象当前的length()值的话,那么会在StringBuffer对象后面加上空字符;如果比length()小的话,则len后面的字符串会丢失。
* char charAt(int where)
void setCharAt(int where, char ch)
使用charAt()方法可以得到StringBuffer对象中指定位置上的字符,setCharAt() 可以设置指定位置上的字符。它们的一般形式如下:
char charAt(int where)
void setCharAt(int where,char ch)
对于这两种法法,where值必须是非负的,同时不能超过或等于StringBuffer对象的长度。
* getChars(int suorceStart,int sourceEnd,char target[] , int targetStart)
* append()
Append()方法将任一其他类型数据的字符串形式连接到调用StringBuffer对象的后面,对所有内置的类型和Object,它都有重载形式。下面是几种形式:
StringBuffer append(String str)
StringBuffer append(int num)
StringBuffer append(Object obj)
* insert()
Insert()方法将一个字符串插入另一个字符串中。下面是它的几种形式:
StringBuffer insert(int index,String str)
StringBuffer insert(int index,char ch)
StringBuffer insert(int index,Object obj)
*reverse() // StringBuffer reverse()
StringBuffer strbf=new StringBuffer(“ABCDEFG”);
strbf.reverse();
System.out.println(strbf); //输出 GFEDCBA
* StringBuffer delete(int startIndex,int endIndex)
StringBuffer deleteCharAt(int loc)
删除指定位置的字符串和指定位置的字符。例如删除第一个字符后的所有字符:
strbf.delete(1,strbf.length());
* replace()
它完成在StringBuffer内部用一个字符串代替另一个指定起始位置和结束位置的字符串的功能,注意的是,被代替的字符不包括结束位置上的字符,它的一般形式是,:
StringBuffer replace(int startIndex, int endIndex,String str)
* substring() 返回StringBuffer的一部分值
String substring(int startIndex)
String substring(int startIndex, int endIndex)
StringBuffer定义了下面三个构造函数:
StringBuffer() // 默认构造函数,预留了16个字符的空间,该空间不需再分配
StringBuffer(int size) // 设置指定缓冲区大小
StringBuffer(String str) // 设置StringBuffer对象初始化的内容并预留16个字符空间,且不需再分配空间
* int length()
调用length()方法可以得到StringBuffer对象的长度,调用capacity()可以得到总的分配容量。两个方法都是返回一个int类型的值。
* void ensureCapacity(int capacity)
如果想在构造StringBuffer对象后为某些字符预分配空间,可以使用ensureCapacity()方法,设置缓冲区的大小,这在事先已知要在StringBuffer上追加大量小字符串的情况下是有用的。ensureCapcity()方法具有如下的一般形式: void ensureCapacity(int capacity)
* void setLength(int len)
使用setLength()方法可以设置StringBuffer对象的长度,它的一般形式如下:
void setLength(int len) 如果len大于StringBuffer对象当前的length()值的话,那么会在StringBuffer对象后面加上空字符;如果比length()小的话,则len后面的字符串会丢失。
* char charAt(int where)
void setCharAt(int where, char ch)
使用charAt()方法可以得到StringBuffer对象中指定位置上的字符,setCharAt() 可以设置指定位置上的字符。它们的一般形式如下:
char charAt(int where)
void setCharAt(int where,char ch)
对于这两种法法,where值必须是非负的,同时不能超过或等于StringBuffer对象的长度。
* getChars(int suorceStart,int sourceEnd,char target[] , int targetStart)
* append()
Append()方法将任一其他类型数据的字符串形式连接到调用StringBuffer对象的后面,对所有内置的类型和Object,它都有重载形式。下面是几种形式:
StringBuffer append(String str)
StringBuffer append(int num)
StringBuffer append(Object obj)
* insert()
Insert()方法将一个字符串插入另一个字符串中。下面是它的几种形式:
StringBuffer insert(int index,String str)
StringBuffer insert(int index,char ch)
StringBuffer insert(int index,Object obj)
*reverse() // StringBuffer reverse()
StringBuffer strbf=new StringBuffer(“ABCDEFG”);
strbf.reverse();
System.out.println(strbf); //输出 GFEDCBA
* StringBuffer delete(int startIndex,int endIndex)
StringBuffer deleteCharAt(int loc)
删除指定位置的字符串和指定位置的字符。例如删除第一个字符后的所有字符:
strbf.delete(1,strbf.length());
* replace()
它完成在StringBuffer内部用一个字符串代替另一个指定起始位置和结束位置的字符串的功能,注意的是,被代替的字符不包括结束位置上的字符,它的一般形式是,:
StringBuffer replace(int startIndex, int endIndex,String str)
* substring() 返回StringBuffer的一部分值
String substring(int startIndex)
String substring(int startIndex, int endIndex)