可变的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):将指定索引处的字符更换掉
posted @ 2020-11-19 19:35  dingzhiwen  阅读(134)  评论(0)    收藏  举报