javastring与stringbuffer用法区别

javastring与stringbuffer用法区别

ID:34707867

大小:57.68 KB

页数:4页

时间:2019-03-09

javastring与stringbuffer用法区别_第1页
javastring与stringbuffer用法区别_第2页
javastring与stringbuffer用法区别_第3页
javastring与stringbuffer用法区别_第4页
资源描述:

《javastring与stringbuffer用法区别》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、JavaString与StringBuffer用法区别转载String类用来表示那些创建后就不会再改变的字符串,它是immutable的。而StringBuffer类用来表示内容可变的字符串,并提供了修改底层字符串的方法。--当我们进行字符拼接时,请使用StringBuffer类而非String类,因为前者将比后者快上百倍。的确,在程序的太多场合我们都会进行字符串拼接工作,简单的代码示例如下:Stringstr="Youarenice.";str+="Iloveyousomuch.";如果用StringBuffer类的话,代码如下:StringBufferstr=newS

2、tringBuffer("Youarenice.");str.append("Iloveyousomuch.");从表面看来String类只用一个加号(+)便完成了字符串的拼接,而StringBuffer类却要调用一个append()方法,是否实现起来更简洁,更单纯呢?其实不然,让我们了解一下程序运行内部发生了哪些事情:经编译后程序的bytecode(字节码)展示出了实质:在用String类对象直接拼接时,JVM会创建一个临时的StringBuffer类对象,并调用其append()方法完成字符串的拼接,这是因为String类是不可变的,拼接操作不得不使用StringBu

3、ffer类(并且--JVM会将"Youarenice."和"Iloveyousomuch."创建为两个新的String对象)。之后,再将这个临时StringBuffer对象转型为一个String,代价不菲!可见,在这一个简单的一次拼接过程中,我们让程序创建了四个对象:两个待拼接的String,一个临时StringBuffer,和最后将StringBuffer转型成为的String--它当然不是最初的str了,这个引用的名称没变,但它指向了新的String对象。而如果直接使用StringBuffer类,程序将只产生两个对象:最初的StringBuffer和拼接时的Strin

4、g("Iloveyousomuch."),也不再需要创建临时的StringBuffer类对象而后还得将其转换回String对象。可以想象,当我们的字符串要被循环拼接若干段时,用String类直接操作会带来多少额外的系统开销,生成多少无用的临时StringBuffer对象,并处理多少次无谓的强制类型转换哪。String类   String类提供了几种字符串创建方法。   Strings="abcd"使用字符串常量自动创建String实例。   Strings=newString(Strings)通过String对象或字符串常量传递给构造方法。   publicString(

5、charvalue[],intoffset,intcount)将字符数组一部分赋给String构造方法,offset为起始下表,count为数组长度。   String类提供了丰富的字符串操作方法,其中重要的例举如下。   publicintlenght()返回字符串的长度。   publiccharcharAt(intindex)返回字符串位置index处的字符。   publicbooleanequals(Objecto)比较两个字符串对象,相等则返回true;反之返回false。   publicintcompareTo(Strings)比较两个字符串字典顺序,相等

6、返回0,s大于当前字符串返回一个负值,s小于当前串返回一个正值。   publicbooleanregionMatches(inttoffset,Stringother,intooffset,intlen)从当前字符串位置toffset开始寻找字符串other中起始位置为ooffset长度为len的子串。如发现匹配,返回true;否则,返回false。   publicbooleanstartsWith(Stringprefix)从当前字符串的起始位置开始寻找字符串prefix。如发现匹配,返回true;否则,返回false。   publicbooleanendsWit

7、h(Stringsuffix)如当前字符串的结尾子串与suffix匹配,返回true;否则,返回false。   publicintindexOf(Stringstr)在当前字符串中寻找与str匹配的子串,返回首次匹配的起始下表值;无匹配返回-1。   publicStringsubstring(intbeginIndex,intendIndex)在当前字符串中,求从起始位置beginIndex到结束位置endIndex的子串。   publicStringconcat(Stringstr)将当前字符串与str连接,返回连接后

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。