在需要对数据进行大量修改时,你会在Java中选择String还是StringBuffer?
String 类型是 Java 中的一个类,用于表示一组字符。Java 中的字符串是不可变的,一旦创建,就不能更改 String 的值。
由于 String 是不可变的,如果您尝试重新赋值 String 的值,它的引用将指向新的 String 对象,从而在内存中留下未使用的 String。
Java 提供了 StringBuffer 类来替代需要对字符 String 进行大量修改的情况下的 String。
您可以反复修改/操作 StringBuffer 的内容,而不会留下许多新的未使用的对象。
StringBuilder 类从 Java 5 开始引入,StringBuffer 和 StringBuilder 之间的主要区别在于 StringBuilder 的方法不是线程安全的(不同步的)。
建议尽可能使用 StringBuilder,因为它比 StringBuffer 快。但是,如果需要线程安全,则最佳选择是 StringBuffer 对象。
将 String 转换为 StringBuilder
StringBuilder 类的 append() 方法接受一个 String 值并将其添加到当前对象。
要将 String 值转换为 StringBuilder 对象,只需使用 append() 方法将其附加。
示例
在下面的 Java 程序中,我们将一个 String 数组转换为单个 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
广告