StringBuffer就是字符串缓冲区,用于存储数据的容器。

特点:长度可变,可存储不同类型的数据,最终转化成字符串使用,可以对字符串修改

功能:

  添加:append(value), insert(index,value);

  删除:delete(start,end), deleteCharAt(index);

  查找:char charAt(index),  int indexOf(String), int lastIndexOf(String);

  修改:replace(start,end,string), setCharAt(index);

  其他:setLength():设置长度,多了删除,少了空字符补齐;reverse():反转

可变数组长度原理:当长度不够时,会创建一个新数组,是原来数组的1.5-2倍,然后copy元数组到新数组。


StringBuffer和Stringbuilder的区别:

stringbuilder是在jdk1.5以后出现的,功能和stringbuffer一模一样,stringbuffer在添加和删除时都设置了锁,没添加一次都要判断锁。

StringBuffer:线程同步,用于多线程。

StringBuilder:线程不同步,用于单线程,提高效率。

java之StringBuffer的更多相关文章

  1. JAVA String,StringBuffer与StringBuilder的区别??

    String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能 ...

  2. Java String StringBuffer StringBuilder

    String  字符串常量存储在常量区,每次追加操作会创建新的对象: StringBuffer  字符串变量  线程安全 在堆上创建,每次追加操作在原对象上进行操作:  速度 StringBuffer ...

  3. 【转】JAVA的StringBuffer类

    [转]JAVA的StringBuffer类    StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBu ...

  4. Java源码学习 -- java.lang.StringBuilder,java.lang.StringBuffer,java.lang.AbstractStringBuilder

    一直以来,都是看到网上说“ StringBuilder是线程不安全的,但运行效率高:StringBuffer 是线程安全的,但运行效率低”,然后默默记住:一个是线程安全.一个线程不安全,但对内在原因并 ...

  5. Java之StringBuffer,StringBuilder,Math,Date,SimpleDateFormat,UUID,File

    java.lang 类 StringBuffer java.lang.Object java.lang.StringBuffer 所有已实现的接口: Serializable, Appendable, ...

  6. Java基础-StringBuffer类与StringBuilder类简介

    Java基础-StringBuffer类与StringBuilder类简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.StringBuffer类 在学习过String类之后 ...

  7. Java 中StringBuffer与StringBuilder区别(转)及String类的一些基本操作代码

    String 字符串常量StringBuffer 字符串变量(线程安全)  多个线程访问时,不会产生问题(Synchronized)StringBuilder 字符串变量(非线程安全) 多个线程访问时 ...

  8. Java中StringBuffer类

    StringBuffer: 线程安全的可变字符串. StringBuffer和String的区别?前者长度和内容可变,后者不可变.如果使用前者做字符串的拼接,不会浪费太多的资源. StringBuff ...

  9. java之StringBuffer类详解

    StringBuffer 线程安全的可变字符序列. StringBuffer源码分析(JDK1.6): public final class StringBuffer extends Abstract ...

  10. Java api 入门教程 之 JAVA的StringBuffer类

    StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存 ...

随机推荐

  1. oracle10g 和oracle11g同时安装时PL/SQL连不上解决方案

    oracle10g 和oracle11g同时安装的时候,PL/SQL连不上解决办法:找到两者的配置文件改成一致 oracle10g服务端和oracle11g客户端同时安装的时候,PL/SQL连不上解决 ...

  2. A real ROCA using Bootstrap, jQuery, Thymeleaf, Spring HATEOAS and Spring MVC

    http://www.tuicool.com/articles/ENfe2u https://github.com/tobiasflohre/movie-database What is the be ...

  3. mongoDB 插入数据 用java实现

    import java.net.UnknownHostException; import com.mongodb.BasicDBObject; import com.mongodb.DB; impor ...

  4. [改善Java代码]建议采用的顺序是 List<T>、List<?>、List<Object>

    建议98:建议采用的顺序是 List<T>.List<?>.List<Object> List<T>.List<?>.List<Obj ...

  5. Oracle查询被锁的表及进程的方法

    Oracle查询可以有多种方法,下面为您介绍的是如何Oracle查询被锁的表及Oracle查询连接的进程的方法,希望对您能够有所帮助. 一.查看被锁的表 select p.spid,a.serial# ...

  6. sql中nvarchar(max)长度测试

    nvarchar(max)长度测试:在使用convert强制类型转化之后 文本长度可以突破8000的上限.并且nvarchar(max)的最大长度可达到2^31以下为验证SQL: Declare @A ...

  7. CSS有用的代码片段

    1.垂直对齐 .vc{ position:relative; top:50%; -webkit-transform:translateY(-50%); -o-transform:translateY( ...

  8. SQL Server 错误行号

    https://msdn.microsoft.com/zh-cn/library/ms178600.aspx 返回发生错误的行号,该错误导致运行 TRY…CATCH 构造的 CATCH 块. 语法 E ...

  9. SQL Server 查询分析器提供的所有键盘快捷方式(转)

    下表列出 SQL Server 查询分析器提供的所有键盘快捷方式. 活动 快捷方式 书签:清除所有书签. CTRL-SHIFT-F2 书签:插入或删除书签(切换). CTRL+F2 书签:移动到下一个 ...

  10. PLSQL插入数据中文乱码的问题

    PLSQL插入数据中文乱码的问题 中文乱码就是编码不统一所导致的了,解决办法只需要把编码统一下即可解决了. 具体操作步骤如下: 1.查看服务器端编码 select userenv('language' ...