黑马程序员技术交流社区

标题: 对StringBuffer相关知识点的总结 [打印本页]

作者: LoveMyself    时间: 2015-5-25 01:56
标题: 对StringBuffer相关知识点的总结
本帖最后由 LoveMyself 于 2015-5-25 01:57 编辑

有关StringBuffer的部分常用知识点:
StringBuffer是字符串的缓冲区,长度可变化,可以操作多个数据类型,
可以通过toString方法将其转换为字符串
    容器声明:StringBuffer sb = new StringBuffer();
    主要方法简介:
         1、存储
a、StringBuffer  append(Object obj);//追加制定字符串到字符串尾部
                  b、StringBuffer  insert(int offset ,Object obj);
                     //向指定位置插入Object类型字符串
          2、删除
                 a、StringBuffer delete(start,end);//删除缓冲区中的数据,
包含stsrt,不包含end
                 b、StringBuffer  deleteCharAt(index);//删除指定位置字符
                 c、StringBuffer  delete(0,sb.length());//清空缓冲区
            3、获取
               a、char charAt(int index);//获取只能固定位置的字符
               b、int indexOf(String str);//通过查找,返回该字符串在原串位置
               c、int  lastIndexOf(String str);//从字符串尾部索引
               d、String substring(int start,int end);//获取指定位置的字符串
            4、修改
               a、StringBuffer  replace(int start,int end,String str);
                  //用新字符串替换指定期间字符串
              b、void   setCharAt()//替换掉指定索引位置的字符
            5、反转
              StringBuffer reverse();//将制定字符串反转
             6、将指定字符串加入到ch[]数组中
               void  getChars(int  strBegin , int  strEnd , chr[] name , int  charBegin);
         下面是部分示例代码:
         
  1. public class StringBufferDemo {
  2.    //声明全局
  3.         /**
  4.          * 1、StringBuffer 增的方法
  5.          * 2、删的方法
  6.          * 3、修改的方法
  7.          * 4、查的方法
  8.          */
  9.         //创建全局StringBuffer容器
  10.         static  StringBuffer sb = new StringBuffer();
  11.         //增加内容
  12.         static StringBuffer str = sb.append("iloveyou");
  13.         public static void main(String[] args) {
  14.                 addMethod();
  15.                 deleteMethod();
  16.                 changeMethod();
  17.                 getCharDemo();
  18.         }
  19. //StringBuffer增的方法
  20.    public static void addMethod()
  21.      {
  22.            //向指定的地方插入字符串
  23.            str.insert(0, "你好");
  24.            printMethod("str:"+str);
  25.      }
  26. //StringBuffer删的方法
  27.    private static void deleteMethod() {
  28.          //删除指定区间的字符串
  29.      StringBuffer str1 = str.delete(2,5);
  30.      str.length();
  31.      printMethod(str1);
  32.      //删除指定位置的字符串
  33.      StringBuffer str2 = str.deleteCharAt(4);
  34.      printMethod(str2);
  35.    }
  36.   //改的方法
  37.   public static void changeMethod() {
  38.    //用replace方法实现字符串修改
  39.         StringBuffer str3 = str.replace(2, 4, "helloword");
  40.         printMethod(str3);
  41.         //用setChar方法实现字符串修改
  42.          str.setCharAt(11, '你');
  43.          printMethod(str);
  44.    }
  45.    //将字符串中的元素存入到指定的字符数组
  46.   public static void getCharDemo()
  47.     {
  48.           String s = "hfsdhfsfsfjhs";
  49.           char[] ch = new char[5];
  50.           s.getChars(1, 6, ch, 0);
  51.           for(int x=0;x<ch.length;x++)
  52.             {
  53.                   System.out.println("ch["+x+"]:"+ch[x]);
  54.             }
  55.     }
  56.   //打印方法
  57.    public static void printMethod(Object obj)
  58.     {
  59.             System.out.println(obj);
  60.     }
  61. }
复制代码

作者: zzlin    时间: 2015-5-25 07:38
StringBuffer是线程同步的
作者: LoveMyself    时间: 2015-5-25 09:36
zzlin 发表于 2015-5-25 07:38
StringBuffer是线程同步的

谢谢指点,我回头再加上




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2