这个问题相信找过工作的人可能是深有体会吧!经常是笔试面试被问到这样个问题。当然,我也被问到过,而且还死在这个问题上面过!所以下来之后自己也好好的重新查看并复习了StringBuffer,StringBuilder和String的区别。

Java平台提供了三个类可以进行对字符串的操作,字符串的底层实现实际都是char字符数字,通过这三个类可以实现对字符串的存储和修改操作。

String提供的是字符串对象不可变的字符序列操作。

StringBufferStringBuilder是可改变的字符序列操作。也就是说,可以使用StringBufferStringBuilder来动态构建字符串。

另外,在内存管理方面,String使用字符串池来管理String对象。两个值完全不同的String对象将指向一个内存空间。而StringBuilderStringBuffer可以通过toString()方法转化为StringStringBuffer线程安全,速度慢;StringBuilder线程不安全,速度快。

标签: none

添加新评论