String与StringBuffer的区别
来源:互联网 发布:江西探险家软件 编辑:程序博客网 时间:2024/04/30 08:36
这个问题确实在很多面试都碰到过,一般也就是说string是可变的,stringbuffer是不可变的。而且stringbuffer比string的执行效率更高,但是一旦被问到为什么执行效率更高呢。。。。我就悲剧了 。。。这是一位仁兄的解释:
3:String 与StringBuffer的区别
String:在String类中没有用来改变已有字符串中的某个字符的方法,由于不能改变一个java字符串中的某个单独
字符,所以在JDK文档中称String类的对象是不可改变的。然而,不可改变的字符串具有一个很大的优点:编译器可
以把字符串设为共享的。
StringBuffer:StringBuffer类属于一种辅助类,可预先分配指定长度的内存块建立一个字符串缓冲区。这样使用
StringBuffer类的append方法追加字符 比 String使用 + 操作符添加字符 到 一个已经存在的字符串后面有效率得
多。因为使用 + 操作符每一次将字符添加到一个字符串中去时,字符串对象都需要寻找一个新的内存空间来容纳更大
的字符串,这无凝是一个非常消耗时间的操作。添加多个字符也就意味着要一次又一次的对字符串重新分配内存。使
用StringBuffer类就避免了这个问题.
觉得挺有道理的。
- StringBuffer以及StringBuffer与String的区别
- String与StringBuffer的区别?
- string与stringBuffer的区别
- string与stringbuffer的区别
- string与stringbuffer的区别
- String与StringBuffer的区别
- String与StringBuffer的区别
- string与stringbuffer的区别
- String与StringBuffer的区别?
- String与StringBuffer的区别?
- String与StringBuffer的区别
- StringBuffer与String的区别
- String与StringBuffer的区别
- String与StringBuffer的区别
- String 与StringBuffer的区别
- String与StringBuffer的区别?
- StringBuffer与String的区别
- String与StringBuffer的区别
- oracle11g在安装时提示"c:\document and setting\用户名\local setting\Temp不足400M的可用磁盘空间'
- 配料员
- 集合排序
- 经典语录,经常看看感悟人生!
- 二叉排序树
- String与StringBuffer的区别
- 局部变量 成员变量 解释
- 一瞬一载,一晃半年
- Linux经典书籍推荐
- Vim + GDB (xxgdb, ddd)
- 7月08日 宋老师家
- oracle的%type简介
- 排序二叉树 原理
- 指针自增表达式的一个例子