黑马程序员技术交流社区
标题:
集合
[打印本页]
作者:
权跃杰
时间:
2012-7-28 23:55
标题:
集合
StringBuffer和数组有什么区别?StringBuffe什么时候用?
作者:
马进
时间:
2012-7-28 23:59
StringBuffer顾名思义是一个字符串缓存,一般在拼接复杂字符串时使用,不定长,较灵活。
而数组,一方面数组个数会固定,而且只是把一组在逻辑上相关的String放到一起,起不到拼接作用。
作者:
田向向
时间:
2012-7-29 00:05
这个问题在历届论坛里很泛滥,你可以去搜一下
http://search.itheima.com/
视频里面也有介绍,
作者:
李志广
时间:
2012-7-29 00:09
这是一个比较常见的问题以下是两者的区别:
数组是存储一组
相同类型数据的
,java
数组是定长的
.数组是一容器,
可以装入多种数据类型
,只要它们是相同的 .
StringBuffer类
它则代表一个字符序列可变的字符串
,当一个StringBuffer被创建以后,通过StringBuffer提供的append、insert、reverse、setCharAt、setLength等方法可以改变这个字符串对象的字符序列。
一旦通过StringBuffer生成了最终想要的字符串,就可以调用它的toString方法将其转换成为一个String对象。 如果在程序中需要对字符串进行频繁的修改连接操作的话.使用StringBuffer性能会更高;
希望对你有所帮助!!!!!{:soso_e100:}
作者:
陈欢
时间:
2012-7-29 10:16
STRING的长度是不可变的,STRINGBUFFER的长度是可变的。如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,而且用它来作为应用是安全的
如果最后需要String,那么使用StringBuffer的toString()方法。如果你问的是从回收的角度上来讲的话,显然StringBuffer对内存的消耗要小的多,如果你用到了类似于我在上面那篇文章中举的例子:
String s="Hello Baidu";
s=new String("Hello Baidu");
s=s.concat("!");
在内存中会有两个空间是没有指向的,也不会被回收,因为它们都还不是Null.只有等到代码结束的时候才会被回收.
在我们小的程序中这样的开销还可以忽略,但是大型的工程中,大量的开销会对代码运行的速度带来很大的影响.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2