Java可以用一个StringBuilder构造多个字符串吗?
Can one StringBuilder be used for constructing multiple strings in Java?
我正在尝试创建一定数量的长字符串。我应该为每个新字符串创建一个新的 StringBuilder 还是可以创建多个?
我需要创建 4 个字符串 s1、s2、s3、s4。它们是否都可以由一个 StringBuilder 创建为单独的字符串,还是我必须为每个 s 创建一个新的 StringBuilder?
Can one StringBuilder be used for constructing multiple strings in
Java?
您可以重复使用 StringBuilder
的相同引用来构造任意数量的字符串,但每个新字符串都会覆盖其中的旧字符串。 StringBuilder
不是容器 class。您需要 container class 来存储 String
的多个实例。下面给出了一个例子:
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String args[]) {
StringBuilder sb;
List<StringBuilder> list = new ArrayList<StringBuilder>();
sb = new StringBuilder("Hello");
list.add(sb);
sb = new StringBuilder("World");
list.add(sb);
System.out.println(sb);// Only the last value sb is constructed with
System.out.println(list);// All the values added to list
}
}
输出:
World
[Hello, World]
请注意,您可以连接字符串以形成单个字符串,但它们不可区分。即使您设法通过在它们之间放置某种分隔符来区分它们,处理它们也会非常困难且容易出错。
是的,单个 StringBuilder 可用于构建多个独立的字符串
我正在尝试创建一定数量的长字符串。我应该为每个新字符串创建一个新的 StringBuilder 还是可以创建多个?
我需要创建 4 个字符串 s1、s2、s3、s4。它们是否都可以由一个 StringBuilder 创建为单独的字符串,还是我必须为每个 s 创建一个新的 StringBuilder?
Can one StringBuilder be used for constructing multiple strings in Java?
您可以重复使用 StringBuilder
的相同引用来构造任意数量的字符串,但每个新字符串都会覆盖其中的旧字符串。 StringBuilder
不是容器 class。您需要 container class 来存储 String
的多个实例。下面给出了一个例子:
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String args[]) {
StringBuilder sb;
List<StringBuilder> list = new ArrayList<StringBuilder>();
sb = new StringBuilder("Hello");
list.add(sb);
sb = new StringBuilder("World");
list.add(sb);
System.out.println(sb);// Only the last value sb is constructed with
System.out.println(list);// All the values added to list
}
}
输出:
World
[Hello, World]
请注意,您可以连接字符串以形成单个字符串,但它们不可区分。即使您设法通过在它们之间放置某种分隔符来区分它们,处理它们也会非常困难且容易出错。
是的,单个 StringBuilder 可用于构建多个独立的字符串