String类和StringBuffer类的区别

String类和StringBuffer类的区别:

StringBuffer类使用append和insert等方法改变字符串值时只是在原有对象存储的内存地址上进行连续操作,减少了资源的开销.

String : 常量字符串,一旦赋值或实例化后就不可更改,如果赋予新值将会重新开辟内存地址进行存储。可以使用栈存储,速度快,简单应用效率高;
StringBuilder : 可变字符串构造器,典型的对象,堆中创建,如频繁的修改字符串值,可以使用StringBuilder;
StringBuffer :同StringBuilder,使用append和insert等方法改变字符串值时只是在原有对象存储的内存地址上进行连续操作,减少了资源的开销, 但是是线程安全的,所以效率略低于StringBuilder。


因此得到的结论是:如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法好了!

你可能感兴趣的:(相关技术-Java)