StringBuffer 学习

 字符串特点:字符串是常量;它们的值在创建之后不能更改.
 字符串的内容一旦发生了变化,那么马上会创建一个新 的对象。

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

c336d8d4f74dc423a8105ed4a28f883136d.jpg

添加 : append()方法

方法重载显示可以插入任意类型的数据;

ed56a5213b5ad300d197feb3d953cbf1f84.jpg

删除 :delect()方法

ae1e3e5e689085cb1e3391a5a588bfaf1ed.jpg

插入:insert() 方法

方法重载显示可以插入任意类型的数据;

1d123205b3becbb0e5f1f03521d05224df0.jpg

length()方法;

replace()方法;

reverse()方法;

substring()方法;

7006f2b0403ff6e3673c407d91155b189ab.jpg

 

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

StringBuffer 是一个存储字符的容器 。
    
    增加
        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()   把字符串缓冲类的内容转成字符串返回。

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

当年先出来的是stringbuffer,后来发现很少会出现在操作一个字符串时,有线程不安全的情况。所以,就开发了stringbuilder。

66c5383877c1078a03146889399de98f4cc.jpg

 

 

 

转载于:https://my.oschina.net/hellation/blog/3051828

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值