zoukankan      html  css  js  c++  java
  • StringBuffer类和StringBuilder类

    1、StringBuffer类

    是一个字符串缓冲区的类,线程安全运行效率低,用户存储可变字符串

    构造器:

    StringBuffer sb=new StringBuffer();//创建空字符串的容器
    StringBuffer sb=new StringBuffer(String);//将字符串使用容器存储
    StringBuffer sb=new StringBuffer(int);//声明指定容量的容器
    

    常用方法:

    1.1、append():追加字符串
    1.2、delete(int start,int end):删除指定位置的字符
    1.3、insert(int start,String):插入到指定位置
    1.4、reverse():反转字符
    1.5、capacity():获取初始容量
    1.6、ensureCapacity(int):设置最低所需容量

    2、StringBuilder类

    也是字符串缓冲区的类,它是线程不安全,且运行效率高的可变字符缓冲类

    其StringBuilder的方法与StringBuffer几乎一样

    面试题

    StringBuffer、StringBuilder和String的区别
    a、在运行速度上:StringBuilder > StringBuffer > String
    原因: String是字符串常量,而StringBuilder和StringBuffer是字符串变量,当需要改变字符串内容时,Stirng重新创建变量并赋值, 而StringBuilder和StringBuffer可直接改原有的值,所以效率高,
    ​ b、在线程安全上:StringBuffer > StringBuilder > String
    原因: StringBuffer是线程安全的,而StringBuilder线程不安全,在StringBuffer上的很多方法增加同步关键字(synchronized),导致在多个线程运行时,保持数据的完整性和一致性,而StringBuilder的方法并没有同步 ,如果在多线程环境下为了确保数据安全,建议使用StringBuffer ,如果在单线程环境下,提高效率使用StringBuilder

  • 相关阅读:
    C结构体之位域(位段)
    Linux 有效用户组(effective group)与初始用户组(initial group)(参考鸟哥私房菜)
    牛顿迭代法求平方根
    操作系统 第5章 哲学家问题
    面试题3:数组中重复的数字
    某讯实习生后台开发一面总结
    面试题目4:二维数组中的查找
    Java基础知识之基本概念
    Maven常用命令
    Maven仓库
  • 原文地址:https://www.cnblogs.com/zzk201/p/13886538.html
Copyright © 2011-2022 走看看