A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周飞飞 中级黑马   /  2015-8-13 15:00  /  779 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String  和 StringBuffer的区别
        String 初始化就不能改变
        StringBuffer 可以操作其中的内容 他是一个容器
StringBuffer是字符串缓冲区:不能被继承        是一个容器
1,添加
        StringBuffer append();添加到后面
        StringBuffer insert(index,str)插入到指定的位置
2,删除
        StringBuffer delete(int start ,int end)删除缓冲区中的内容包头不包尾
        StringBuffer deleteCharAt(int index);删除指定位置的
        清空缓冲区 sb.delete(0,sb.length)
3,获取
        char charAt(int index)
        int indexOf(String str);
        int lastindexOf(String str)
        int length();
        String substring(int start,int end);

4,修改
         StringBuffer replace(int start, int end, String str) ;
         void setCharAt(int index, char ch);
5,反转
         StringBuffer reverse()  将此字符序列用其反转形式取代
6, void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
          将字符从此序列复制到目标字符数组 dst。

StringBuilder 线程不同步 其中的方法和StringBuffer中完全相同
StringBuffer   线程同步

升级三个因素
提高安全 提高效率 简化书写

3 个回复

倒序浏览
总结的不错。
回复 使用道具 举报
楼主我补充下区别StringBuffer和String的区别
StringBuffer:可变字符序列     即 一个该类的对象相当于一个字符串的容器。

  效率更快,避免了过多字符串常量垃圾对象的产生
前者用于生成字符串,后者用于表示字符串
  前者为常量,后者是“可变化的量”

点评

嗯嗯,前者用于生成字符串,后者用于表示字符串 =》 初始化字符串 操作字符串。(过多......)前加上"增删时"会不会更好一点  发表于 2015-8-14 10:15
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马