关于String,StringBuffer,StringBuilder的总结
1.三者之间的对比
首先三者的执行速度(运行速度)是: StringBuilder>StringBuffer>String。
String适合少量字符串的操作情况。
StringBuilder适合单线程下在字符缓冲区进行大量操作
StringBuilder适合多线程下在字符缓冲区进行大量操作
单线程情况下使用StringBuilder就可以避免使用String是所带来的内存大量占用,即StringBuilder可以在存储后进行增删改插。多线程则使用StringBuffer。
首先StringBuffer的很多方法都带有synchronized修饰,因此保证了线程安全,即一旦有一个线程访问了本对象则其他线程无法访问,而且修改后的对象内容也会直接存储刷新,不会出现脏读。但是StringBuilder并没有这种安全机制,但是在单线程中却有着很良好的性能。
2.StringBuilder的使用:
方法1增:append(Str a)尾部插入字符串。
方法2插:insert(int 插入坐标,Str a) 将字符串a插入指定位置。
方法3删:delete(int start, int end)将字符串从开始到结束下标内的字符串删除。
方法4改:replace(int start,int end,String str)将字符串从开始位置到结束位置之间的内容替换为str字符串的内容。
方法5替换内容:replaceAll(正则表达式,String a),使用表达式将指定内容替换成字符串a。(和谐神器)
方法6 查:StringBuilder的toString()返回一个与本对象的构建器或者缓存器内容相同的字符串。
方法7::split(正则) 匹配出本字符串中所有的以正则为切片点的字符串数组。