当数据需要大量更改时,您在Java中选择String还是StringBuffer?
的字符串类型是Java类,它是用来表示一组字符。Java中的字符串是不可变的,创建后就无法更改字符串的值。
由于字符串是不可变的,因此如果您尝试重新分配字符串的值。它的引用将指向新的String对象,从而在内存中留下未使用的String。
Java在需要对字符字符串进行大量修改的地方,提供StringBuffer类作为String的替换。
您可以反复修改/操作StringBuffer的内容,而不会留下很多新的未使用对象。
StringBuilder类是从Java5开始引入的,StringBuffer和StringBuilder之间的主要区别是StringBuilder的方法不是线程安全的(不同步的)。
建议尽可能使用StringBuilder,因为它比StringBuffer快。但是,如果必须保证线程安全,则最好的选择是StringBuffer对象。
将字符串转换为StringBuilder
StringBuilder类的append()方法接受一个String值,并将其添加到当前对象。
要将String值转换为StringBuilder对象,只需使用append()方法将其附加。
示例
在下面的Java程序中,我们将字符串数组转换为单个StringBuilder对象。
public class StringToStringBuilder { public static void main(String args[]) { String strs[] = {"Arshad", "Althamas", "Johar", "Javed", "Raju", "Krishna" }; StringBuilder sb = new StringBuilder(); sb.append(strs[0]); sb.append(" "+strs[1]); sb.append(" "+strs[2]); sb.append(" "+strs[3]); sb.append(" "+strs[4]); sb.append(" "+strs[5]); System.out.println(sb.toString()); } }
输出结果
Arshad Althamas Johar Javed Raju Krishna