第八章 Java常用类 第三节 字符串相关类

字符串(1)

String

--Java中使用频率最高的类

--是一个不可变对象,加减操作性能较差

--以下方法需要牢记:charAt, concat, contains, endsWith, equals, equalsIgnoreCase, hashCode, indexOf, length

                                   matches, replace, replaceAll, split, startsWith, subString, trim, valueOf

--查看StringTest.java

          

正则表达式,regular  expression,又名规则表达式,用来检索、替换那些符合某个模式(规则)的文本。

字符串(2):

--可变字符串

StringBuffer(字符串加减,同步,性能好)

StringBuilder(字符串加减,不同步,性能更好)

--StringBuffer / StringBuilder:方法一样,区别在同步

append / insert / delete / replace / substring

length 字符串实际大小,capacity 字符串占用空间大小

trimToSize() 去除空隙,将字符串存储压缩到实际大小

如有大量append,事先预估大小,再调用相应构造函数

StringBuffer预留的空间将为频繁字符串增加操作提高性能。

sb2.trimToSize()函数将多余的空间压缩一下,使得sb2.length()与sb2.capacity()相等。

总结一下StringBuffer的capacity扩大策略:

capacity的初始大小为16 + 初始化字符串长度;然后一直append,当当append后的的length大于当前的capacity时,capacity

就在前一次的capacity加上1,再乘以2倍。如果扩大后的capacity还是小于length,将直接扩大到length。

 

字符串(3):总结

String  不可变对象,只读

StringBuffer  字符串加减,同步,性能好

StringBuilder  字符串加减,不同步,性能更好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值