将数组中的元素串联为字符串

2022-09-01 07:06:05

我有点困惑。我在任何地方都找不到答案;(

我有一个字符串数组:

String[] arr = ["1", "2", "3"];

然后我通过以下方式将其转换为字符串:

String str = Arrays.toString(arr);
System.out.println(str);

我本来以为会得到绳子,但我得到了弦。"123""[1,2,3]"

我怎么能用java做到这一点?我正在使用 Eclipse IDE


答案 1

使用 StringBuilder 而不是 StringBuffer,因为它比 StringBuffer 更快

示例代码

String[] strArr = {"1", "2", "3"};
StringBuilder strBuilder = new StringBuilder();
for (int i = 0; i < strArr.length; i++) {
   strBuilder.append(strArr[i]);
}
String newString = strBuilder.toString();

这就是为什么这是使用字符串串联的更好解决方案的原因:当您连接2个字符串时,将创建一个新的字符串对象并执行逐个字符复制。
实际上意味着代码复杂性将是数组大小的平方阶!

1+2+3+ ...n,即每次迭代复制的字符数)。在这种情况下,StringBuilder只会执行一次“复制到字符串”,从而将复杂性降低到。O(n)


答案 2

简单的答案:

Arrays.toString(arr);