疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

StringBuffer类的总结


 

  package day13;

  /*

  StringBuffer是字符串缓冲区。

  是一个容器。

  特点:

  1,长度是可变化的。

  2,可以字节操作多个数据类型。

  3,最终会通过toString方法变成字符串。

  C create U update R read D delete

  1,存储。

  StringBuffer append():将指定数据作为参数添加到已有数据结尾处。

  StringBuffer insert(index,数据):可以将数据插入到指定index位置。

  2,删除。

  StringBuffer delete(start,end):删除缓冲区中的数据,包含start,不包含end。

  StringBuffer deleteCharAt(index):删除指定位置的字符。

  3,获取。

  char charAt(int index)

  int indexOf(String str)

  int lastIndexOf(String str)

  int length()

  String substring(int start, int end)

  4,修改。

  StringBuffer replace(start,end,string);

  void setCharAt(int index, char ch) ;

  5,反转。

  StringBuffer reverse();

  6,

  将缓冲区中指定数据存储到指定字符数组中。

  void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

  JDK1.5 版本之后出现了StringBuilder.

  StringBuffer是线程同步。 当多线程的时候就使用StringBuffer

  StringBuilder是线程不同步。 当是单线程的时候使用StringBuilder

  以后开发,建议使用StringBuilder

  升级三个因素:

  1,提高效率。

  2,简化书写。

  3,提高安全性。

  */

  public class StringBufferDemo10 {

  /**

  * @param args

  */

  public static void main(String[] args) {

  // TODO Auto-generated method stub

  StringBuffer sb=new StringBuffer("abcdefjhe");

  //追加

  //sb.append(true);

  // 插入

  //sb.insert(3, "hello");

  // 删除

  //sb.delete(2, 3);

  // 删除指定位置上数据

  // sb.deleteCharAt(1);

  //System.out.println(sb.toString());

  //获取指定位置上的 字符

  //char c=sb.charAt(2);

  //获取指定字符的索引

  //int i=sb.indexOf("3");

  //System.out.println(i);

  //获取截取的子串

  //String str=sb.substring(3);

  // 替换 指定长度的字符串

  // StringBuffer sb1=sb.replace(1, 4, "12232425");

  //System.out.println(sb1);

  // 字符串的反转

  //StringBuffer sb2=sb.reverse();

  //System.out.println(sb2);

  /*将缓冲区中指定数据存储到指定字符数组中。

  void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) */

  char[] c=new char[sb.length()];

  sb.getChars(0, c.length, c, 0);

  for (int i = 0; i < c.length; i++) {

  System.out.println("c["+i+"]="+c[i]);

  }

  }

  }