在需要对数据进行大量修改时,你会在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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
JavaScript
PHP