我有点糊涂了。我无法在任何地方找到答案;(
我有一个字符串数组:
String[] arr = ["1", "2", "3"];
然后我通过以下方式将其转换为一个字符串:
String str = Arrays.toString(arr);
System.out.println(str);
我期望得到字符串"123"
,但我得到的是字符串"[1,2,3]"
。
我怎样才能在java中做到这一点呢?我在使用Eclipse IDE
示例代码。
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)
。
Arrays.toString(arr);
输出是[1,2,3],你把它存储到你的字符串中,并打印出来,所以你得到了输出[1,2,3]。
如果你想得到123的输出,可以试试这个:
public static void main(String[] args) {
String[] arr= {"1","2","3"};
String output ="";
for(String str: arr)
output=output+str;
System.out.println(output);
}
输出:
123