String 跟 StringBuffer的比较
String 和 StringBuffer的比较?
String 和 StringBuffer的比较?
String: 在string中没有用来改变已有字符串中某个字符的方法,由于没有改变字符串中单独字符的方法,在jdk中称java类对象是不可改变的。然而不可改变的字符串有个优点这样编译器在编译的时候可以将字符串设置成共享。
StringBuffer: 这是一个辅助类,可以预先分配一个指定长度的内存空间做字符串缓冲,这样使用StringBuffer类的append方法添加一个字符串到另一个字符串中去的时候比String的+效率更高,因为使用+ 的时候每次都要寻找一个新的内存空间来容纳更大的字符串,使用StringBuffer的时候就避免了这个问题。
StringBuffer的主要操作就是append和insert方法,重载这些方法就能接受任意类型的数据了,将任意类型的数据转换成字符串添加到存在的字符串中,append是在字符串的末尾添加,insert是将数据添加到指定的位置。
在考虑到效率问题的时候,要从两个层面考虑一个运行期优化一个是编译期优化,不能片面的说String的效率比StringBuffer低,我们平时使用的时候还是用String比较多的。