A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李方 中级黑马   /  2012-12-28 21:50  /  1585 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String里的获取方法与StringBuffer里的获取方法啥区别啊来自: Android客户端

评分

参与人数 1黑马币 +1 收起 理由
刘芮铭 + 1

查看全部评分

5 个回复

倒序浏览
不知道你想问的是什么,问题比较大
我稍微说一点吧,StringBuffer,以及StringBuilder都是带String缓冲区的,可以改变他的对象的长度和内容,但是String则不同,他是常量不能改变自身,每产生一个,都会在内存方法区中产生一个,这样就会产生很多垃圾,所以我们一般在循环或者类似的时候会用缓冲的,减少垃圾的产生,一般也就使用append以及insert方法。
至于是StringBuffer,和StringBuilder则基本差不多,只是前者是线程安全的,后者不安全的,理所当然StringBuilder效率要高,我们现在一般常用他,涉及到线程安全的时候则必须用StringBuffer了。

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
李方 来自手机 中级黑马 2012-12-28 23:13:07
藤椅
肖志锋 发表于 2012-12-28 22:13:22
不知道你想问的是什么,问题比较大
我稍微说一点吧,StringBuffer,以及StringBuilder都是带String缓冲区的,可以改变他的对象的长度和内容,但是String则不同,他是常量不

谢谢,现在多少明白了点,我慢慢的了解吧来自: Android客户端
回复 使用道具 举报
李方 来自手机 中级黑马 2012-12-28 23:16:47
板凳
黑马张国辉 发表于 2012-12-28 22:15:34
一个变量和常量的关系
StringBuffer对象的内容可以修改
而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象

比较
StringBuffer str = new S

哦哦,嘿嘿,了解了解,谢啦来自: Android客户端
回复 使用道具 举报
这个了解清楚String和StringBuffer的区别就知道了~

回复 使用道具 举报
String对象表示的是不可更改的字符串对象,如果需要修改String对象所表示的内容,必须重新创建一个对象。
例如:

String str = “Petter”;
str = str + “ & Bob” + “ & Tom”;

StringBuffer类,用来表示内容可以扩充和修改字符串对象,并且必须使用new操作符创建字符串缓冲区。
String s = "Dot saw I was Tod";
StringBuffer dest = new StringBuffer(s
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马