a090stringbuffer与stringbuilder.pdf


文档分类:医学/心理学 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4
文档列表 文档介绍
猿圈
StringBuffer 与 StringBuilder
知识能力
和 String 相反,Str相同的方法,因此,对 StringBuffer 的讨论
也基本适用于 StringBuilder 类。但是,StringBuilder 和 StringBuffer 不同的地方在于,
它是非线程安全的类,但它的优势在于,因为少了很多同步操作,在效率上会高于
StringBuffer 类。因此如果不涉及多线程操作,可以考虑使用 StringBuilder 来提高方法猿圈
的执行效率。
用于连接两个 String 的“+”和 StringBuffer 的 append():
在 Java 中,为了运算方便,对运算符“+”进行了重载,使得它可以用于连接两
个 String 字符串。例如:
String s1 = "Hello";
String s2 = "World";
String s3 = s1 + s2;
这个时候,s3 的内容为“HelloWorld”。甚至,我们还可以将上面的代码写成如
下的样子:
String s1 = "Hello";
String s2 = "World";
s1 = s1 + s2; //也可写成 s1 += s2;
此时,s1 的内容也为“HelloWorld”,那么,既然 String 是不可变的,为什么在
这里它的内容发生改变了呢?这是因为,原来 s1 所指向的那个“Hello”的对象引用
已经被“抛弃”了,而 s1 重新指向了一个新的字符串对象引用“HelloWorld”。

而在 StringBuffer 类中,可以通过它的一个方法 append()来实现类似的功能:
StringBuffer sb1 = new StringBuffer("Hello");
StringBuffer sb2 = new StringBuffer("World");
(sb2);
此时,sb1 中的内容已经变成了“HelloWorld”了。如果需要得到 String 类型的字
符串数据,使用 StringBuffer 的 toString()方法就可以了:
();
既然这两种方法都可以用来进行字符串的连接,那么,用哪种方式比较好呢?
从效率上来说,String 的“+”操作劣于 StringBuffer 的 append()方法,这是因为
在进行“+”操作时,实际上还

a090stringbuffer与stringbuilder 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小338 KB
  • 时间2022-03-23