黑马程序员技术交流社区

标题: 如何把 “字符串数组” 转 “字符串” [打印本页]

作者: 陈少文    时间: 2012-6-9 08:33
标题: 如何把 “字符串数组” 转 “字符串”
字符串数组: String[] str = {"abc", "bcd", "def"};
字符串: String str2 = "";
用遍历的方法
class Print {
    public static void main(String[] args) {
  String[] str = {"abc", "bcd", "def"};
  String str2 = "";
  for(int i=0;i<str.length;i++)
  {
   str2 = str2 + str[i];
  }
      System.out.println(str2);
}
}

请问一下还有没能其它方法。

作者: 杨天皓    时间: 2012-6-9 08:48
只能用循环来做。

不过你在循环加字符串的时候。应该使用StringBuilder

这样更节省内存空间。
String[] str = {"abc", "bcd", "def"};
  StringBuilder sb = new StringBuilder;
  for(int i=0;i<str.length;i++)
  {
   sb.append(str[i]);
  }
      System.out.println(sb.toString());
}


作者: 武剑峰    时间: 2012-6-9 09:14
用StringBuffer吧,它相对来说可以对字符串进行操作,并且是可变类,相对来说会节省内存空间。StringBuilder在jdk1.5以上过时了,具体代码如下
public class argsToString {

        public static void main(String[] args) {
                String[] strs = { "abc", "bcd", "def" };
                StringBuffer str2 = new StringBuffer();
                for (String str : strs) {
                        str2 = str2.append(str);            //将数组字符串追加到str2中
                }
                System.out.println(str2);
        }
}

作者: 黄奕豪    时间: 2012-6-9 09:35
import java.util.*;
String[] str = {"abc", "bcd", "def"};
String strr2 = Arrays.toString(str);
toString
public static String toString(Object[] a)返回指定数组内容的字符串表示形式。如果数组包含作为元素的其他数组,则通过从 Object 中继承的 Object.toString() 方法将它们转换为字符串,这描述了它们的标识,而不是它们的内容。
此方法返回的值等于 Arrays.asList(a).toString() 返回的值,除非 a 为 null,在这种情况下返回 "null"。


参数:
a - 返回其字符串表示形式的数组
返回:
a 的字符串表示形式
作者: 武剑峰    时间: 2012-6-9 09:41
学习了,厉害,忘记数组也支持的。
作者: 何拴绪    时间: 2012-6-9 10:00
黄奕豪 发表于 2012-6-9 09:35
import java.util.*;
String[] str = {"abc", "bcd", "def"};
String strr2 = Arrays.toString(str);

Arrays 重写的toString说 “这描述了他们的标识,而不是他们的内容” 这么理解?
作者: 黄奕豪    时间: 2012-6-9 10:07
何拴绪 发表于 2012-6-9 10:00
Arrays 重写的toString说 “这描述了他们的标识,而不是他们的内容” 这么理解? ...

哦,确实哦~~得去头去尾,去逗号~~~我也忽略了~!~
作者: 赵兵锋    时间: 2012-6-9 10:20
String[] ss={"a","b"};
Arrays里还有一个方法这里也可以用:
System.out.println(Arrays.deepToString(ss));
另外apache下有个项目“字符串工具类StringUtils”
System.out.println(StringUtils.join(ss, ""));
作者: 杨天皓    时间: 2012-6-9 11:02
很强大,学习了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2