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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

大神来看看具体给说说呗~

7 个回复

倒序浏览
String: String是字符串常量 ,它是一个基本类型,字符串是不可变
可以从String.class 中找到这么一个属性
/** The count is the number of characters in the String. */
private final int count;
因为count 属性被设置为final,一旦实例化之后当然就不需要 改变了

StringBuffer与 StringBulider

StringBuffer是在jdk1.0出现的,果要频繁对字符串内容进行修改,出于效率考虑最好使用StringBuffer,如果想转成String类型,可以调用StringBuffer的toString()方法。

StringBuffer 是线程安全的,可以从StringBuffer类中的代码看到

public synchronized StringBuffer append(StringBuffer sb) {
        super.append(sb);
        return this;
    }
StringBulider 是StringBuffer的一个简易版,它是线程不安全
我对着3个的一个使用理解:

如果你是要操作少量的数据,直接用String就可以了,

如果在单线程中操作大量数据,用StringBuilder ;

在多线程操作大量数据,当然用StringBuffer,保证了线程的安全。
回复 使用道具 举报
楼上讲解的很详细  赞一个!!!
回复 使用道具 举报
String 字符串常量,长度不可变 ,StringBuffre是字符串缓冲区存储容易,用于缓冲存储字符串进行添加删除等操作,StringBuilder是一个单线程的安全的StringBuffer,操作与StringBuffer类似但常用首选的是BufferBulider
回复 使用道具 举报
2楼讲解的好详细,学习了!
回复 使用道具 举报
喜欢二楼的详解
回复 使用道具 举报
杨基米德 来自手机 中级黑马 2015-7-7 21:37:34
7#
zhuoxiuwu 发表于 2015-7-7 07:46
String: String是字符串常量 ,它是一个基本类型,字符串是不可变
可以从String.class 中找到这么一个属性
...

多谢:handshake
回复 使用道具 举报
String是不能变的字符串,StringBuffer是字符串缓冲区,是可变的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马