请说明String和StringBuffer的区别。 string提供一个不能更改设置的字符串
StringBuffer类,StringBuilder支持字符串更改
String类 String字符串常量
每次更改String值时,打开新的内存空间都是低效的,并且内存占用量较大
String运行缓慢的原因
String str='abc '; system.out.println(str ) stringstr=str ' de ' system.out.println ) str首先创建一个str对象,并将" abc "分配给str, 在第三行中,JVM又创建了一个新对象。由于原始str对象呗JVM的垃圾回收机制(GC )回收了它,所以在java中处理String对象实际上是一个接一个地创建新对象,然后再使用旧对象
带String源的String字符串操作是创建新字符串
StringBuiler和 StringBuffer字符串变量
修改字符串不会开发新内存
StringBuilder速度块,但不是线程安全的
StirngBuffer速度慢,但线程安全
StringBuffer和StringBuilder是变量,使用变量是直接修改对象,没有创建和重用对象的过程,因此速度很快
stringbuilder sb=new stringbuilder ().append () ) Abd (.append ) ) ABC ); system.out.println (stringbuilder.tostring;