StringBuffer

字符串特点:字符串是常量;它们的值在创建之后不能更改.

字符串的内容一旦发生了变化,那么马上会创建一个新 的对象。

注意: 字符串的内容不适宜频繁修改,因为一旦修改马上就会创建一个新的对象。如果需要频繁修改字符串 的内容,建议使用字符串缓冲 类(StringBuffer)。

如果需要频繁修改字符串 的内容,建议使用字符串缓冲 类(StringBuffer)。

StringBuffer 其实就是一个存储字符 的容器。

笔试题目:使用Stringbuffer无 参的构造函数创建 一个对象时,默认的初始容量是多少? 如果长度不够使用了,自动增长多少倍?
      StringBuffer 底层是依赖了一个字符数组才能存储字符数据 的,该字符串数组默认 的初始容量是16,

       如果字符数组的长度不够使用 死,自动增长1倍。

StringBuffer 是一个存储字符的容器

容器的具备 的行为

String

增加
append(boolean b) 可以添加任意类型 的数据到容器中
insert(int offset, boolean b) 指定插入的索引值,插入对应 的内容。

删除
delete(int start, int end) 根据指定的开始与结束的索引值删除对应的内容。
deleteCharAt(int index) 根据指定 的索引值删除一个字符。


修改

replace(int start, int end, String str) 根据指定 的开始与结束索引值替代成指定的内容。
reverse() 翻转字符串缓冲类的内容。 abc--->cba

setCharAt(int index, char ch) 把指定索引值的字符替换指定的字符。
substring(int start, int end) 根据指定的索引值截取子串。
ensureCapacity(int minimumCapacity) 指定StringBuffer内部的字符数组长度的。

查看
indexOf(String str, int fromIndex) 查找指定的字符串第一次出现的索引值,并且指定开始查找的位置。
lastIndexOf(String str)

capacity() 查看当前字符数组的长度。
length()

charAt(int index)
toString() 把字符串缓冲类的内容转成字符串返回。

1.StringBuffer 与 StringBuilder的相同处与不同处:

相同点:
1. 两个类都是字符串缓冲类。
2. 两个类的方法都是一致的。
不同点:
1. StringBuffer是线程安全的,操作效率低 ,StringBuilder是线程非安全的,操作效率高。
2. StringBuffer是jdk1.0出现 的,StringBuilder 是jdk1.5的时候出现的。

推荐使用: StringBuilder,因为操作效率高。

关于StringBuffer和StringBuilder的更多相关文章

  1. 测试一下StringBuffer和StringBuilder及字面常量拼接三种字符串的效率

    之前一篇里写过字符串常用类的三种方式<java中的字符串相关知识整理>,只不过这个只是分析并不知道他们之间会有多大的区别,或者所谓的StringBuffer能提升多少拼接效率呢?为此写个简 ...

  2. String、StringBuffer与StringBuilder之间区别

    关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder >  String ...

  3. 谈谈StringBuffer和StringBuilder

    (1) 速度 在执行速度方面的比较:StringBuilder > StringBuffer > String ①String 是不可变的对象(String类源码中存放字符的数组被声明为f ...

  4. (转)String、StringBuffer与StringBuilder之间区别

    原文地址: http://www.cnblogs.com/A_ming/archive/2010/04/13/1711395.html 关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺 ...

  5. Java中String、StringBuffer、StringBuilder区别与理解

    一.先比较String.StringBuffer.StringBuilder变量的HashCode值 使用System.out.println(obj.hashcode())输出的时对象的哈希码, 而 ...

  6. String、Stringbuffer、StringBuilder的区别(转载)

    最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下. 关于这三个类在字符串处理中的位置不言而喻,那 ...

  7. String、StringBuffer和StringBuilder的深入解析

    今天闲来无事,整理了下平时记录在印象笔记里的java开发知识点,整理到String,StringBuffer以及StringBuilder的区别时突然又产生了新的疑惑,这些区别是怎么产生的?温故为何能 ...

  8. String、StringBuffer、StringBuilder的区别

    在日常开发过程中String字符串估计是被用到最多的变量了,最近看了一些String.StringBuffer和StringBuilder的东西,三者都可以对字符串进行操作,他们究竟有什么区别,以及适 ...

  9. Java String,StringBuffer和StringBuilder的区别

    [可变与不可变] String是字符串常量,不可变. StringBuffer和StringBuilder是字符串变量,可变. [执行速度方面] StringBuilder > StringBu ...

随机推荐

  1. js杂项

    css是 下划线命名法:table_sub ;javascript ,net ,sql 全部是camel命名法 找临界点 1.elem.checked 有两个值,true,false . 页面中< ...

  2. 无限制使用ppt转pdf功能

    https://smallpdf.com/cn是一个pdf处理网站,十分好用,可是非注册用户有很多限制,比如用两次ppt转pdf就要等待: 于是就想如何让服务器认为我没有用过这个功能呢,感觉应该是用c ...

  3. Shell入门

    前言 日常用Python多一些,不过很多时候shell脚本更简单实用一些,所以有必要熟悉一下shell脚本.当然shell有他特定的一些场景,比方说我曾经改过一个vpn断线自动重连的脚本,简单实用. ...

  4. Sublime 插件- px 转rem

    一个CSS的px值转rem值的Sublime Text 3自动完成插件. 插件效果如下: 安装 克隆项目   https://github.com/hyb628/cssrem.git 进入packag ...

  5. Emotion Debt 2017/1/6

    原文 We can't move beyond the past until our emotional debts are paid. Many people today live under th ...

  6. C#操作XML的通用方法总结

    转载至http://www.cnblogs.com/pengze0902/p/5947997.html 1.创建xml 复制代码 /// <summary> /// 创建XML文档 /// ...

  7. Zookeeper学习之:paxos算法

    paxos算法的重要性众所周知,它给如今的分布式一致性提供了迄今为止最好的解决方案.无论是Lamport自己的论文描述,还是网上的诸多资料,对paxos的描述都是及其简洁的,给人的感觉是paxos看似 ...

  8. XmlRootElement JAXB

    http://desert3.iteye.com/blog/1570092(文章已经很好) 看了那边文章以后尝试后写点直白的 PROPERTY: JAXB 绑定类中的每个获取方法/设置方法对将会自动绑 ...

  9. js像素运算问题

    通过DOM获取的某一距离属性(比如left)是带px单位的,直接对其算术运算不起效,要先把获取到的值处理一下去掉px单位. 方法一(用处理字符串的方式去除px): var x=document.get ...

  10. Android开发加快sdk更新速度

    1.在:\Windows\System32\drivers\etc目录下找到host文件,不能再这个目录修改host文件,需要先拷贝到桌面 然后把一下地址添加到host文件的最末尾 203.208.4 ...