StringBuilder和StringBuffer的区别

来源:互联网 发布:unity3d 百度三维地图 编辑:程序博客网 时间:2024/04/29 09:57
1 StringBuffer
    ① StringBuffer是一个数据缓冲区,他是可变的长度的
    ② 接口是java.lang.object下的java.lang.StringBuffer
    ③ 常用的方法为append 和insert,其余的一般很少用
     append 方法
     将一个参数字符串追加到序列
    例如:
   StringBuffer sb = new StringBuffer();
    sb.append("字符串末尾追加函数");
    转换成String类型  sb.toString()即可;
    insert 将参数字符串插入到序列当中
    重载方法有很多,大体都是
    insert(int offset, String str), offset 表示的是插入的位子,偏移量,  str表示的是需要插入的什么东西
    例如:
    sb.insert(1,"在第一位置插入的数据就是我");

    其余还有length()返回长度等。清空字符串,截取字符串等

2 StringBuilder
   JDK1.5版本出现的一个新的字符缓冲区,功能与StringBuffer非常相似,几乎可以说是相同
     ① StringBuffer是线程安全的
      ② StringBuilder是线程不安全的。为了提高效率,因为不用判断同步枷锁,执行效率较高
      ③ 实际开发过程中,最好使用StringBuilder 执行效率高,当遇到有多线程的问题时候使用StringBuffer
     注意: 如果拿捏不准,一股脑都是用StringBuffer吧,安全
      ④ 其余都是和StringBuffer差不多的
3 升级主要有三方面进行
    ① 提高效率
      ② 提高安全性
      ③ 便于开发
    类似的有HashMap  和 HashTable等,基本都是这样的
原创粉丝点击