java中用string和stringbuilder和stringbuffer来操作字符串
string:内容是不可变的字符串常量,final修饰,每次改变都会有一个新的string对象,然后将指针指向新的string对象,
所以如果经常改变字符串内容的最好不要用string,对系统性能产生影响,因为无形中无用对象多了之后,然后GC就会运行,
性能就会降低
stringbuffer:字符串变量,多线程安全,
一个可变字符序列,类似于string字符缓冲区,但不能修改,可以通过某些方法调用改变序列的长度和内容。
主要操作append和insert方法,每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符缓冲区中,append方法始终将字符串添加到缓冲区的末端,insert方法可以指定添加的地点
stringbuilder :5.0之后增加的,不安全,不保证同步,用在字符串缓冲区被单线程使用,速度快,是
在大部分情况下 StringBuffer > String
在大部分情况下 StringBuilder > StringBuffer
java.lang.StringBuilde
java.lang.StringBuilder一个可变的字符序列是5.0新增的。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。两者的方法基本相同。
--------------------- 本文来自 rmn190 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/rmn190/article/details/1492013?utm_source=copy