我有点困惑。我在任何地方都找不到答案;(
我有一个String数组:
String[] arr = ["1", "2", "3"];
然后我通过以下方式将其转换为字符串:
String str = Arrays.toString(arr); System.out.println(str);
我期望得到字符串"123",但是我却得到了字符串"[1,2,3]"。
"123"
"[1,2,3]"
我该如何在Java中做到这一点?我正在使用Eclipse IDE
使用 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)。
1+2+3+ ... n
O(n)