可变的String类----StringBuffer类
由于String类是一种不可变类,如果对String类对象引用的字符串进行修改,那么就需要创建一个新的字符串并将对象的引用指向它,浪费了大量的内存且效率低。为此,java提供了StringBuffer类(注意:StringBuffer不是String的子类)。
既然定义字符串既可以用String类,又可以用StringBuffer类,那么该如何抉择呢?
如果在程序中经常需要增删改,那么就选择StringBuffer类,但如果想要静态的使用字符串,那么String类对象就是一个最好的办法。
- 创建StringBuffer对象(StringBuffer不支持直接赋值)
方法一:
StringBuffer 对象名= null;
对象名 = new StringBuffer(“字符串内容”);
格式二:
StringBuffer 对象名=new StringBuffer(“字符串内容”);
StringBuffer的常用方法
- 构造方法
- StringBuffer():对象的初始容量为16
- StringBuffer(int capacity):
- StringBuffer(String str)
- 普通方法
- StringBuffer append(String str):连接字符串(String类中可以用加号或者concact()方法,StringBuffer不可以)(可以重载)
- int capacity() :返回容量
- int length():返回数组长度
- int indexOf(String str ):从头开始搜索子字符串的位置,如果存在,返回字符串的位置,否则返回-1;(可重载)
- int lastIndexOf(String str):从末端开始搜索子字符串的位置,如果存在,返回字符串的位置,否则返回-1;(可重载)
- char charAt(int index):返回指定索引处的字符
- StringBuffer delete( int start ,int end)
- StringBuffer deletecharAt( int index)
- StringBuffer reverse():将字符串反转
- StringBuffer replace(int start ,int end,String str)
- StringBuffer insert(int offest,String str)
- String toString ():返回字符串表示形式
- String substring(int start,int end):截取从指定点到字符串的表示形式
- String substring(int start)截取从开始点到结尾的字符串
- void setChar(int index, char ch):将指定索引处的字符更换掉

浙公网安备 33010602011771号